フォーラム管理ページを作成します。管理者はすべての登録済みメンバーの情報メッセージを一度に送信し、@[email protected]
または@[email protected]
などを使用して自分の名前や電子メールを言います。 今私が試したのは、$_SESSION['username']
に言及し、メッセージを表示している現在のユーザーのユーザー名を入力して、メッセージ本文にメッセージまたは本文のいずれかが含まれている場合は、@[email protected]
を置き換えます。シンボルと特殊文字の代わりにPHPの文字列
私はそれをやってみましたこれがあって、それが働いていたが、それは一つのメッセージ
最初の試みで、2つの異なるシンボルが含まれている場合は、一度、メールやフルネームのような他のためにチェックしたりすることはできません
$match_user = str_replace("@[email protected]",$_SESSION['username'],$string);
私はオンラインで検索しましたが、私が必要とする正確なものを手に入れることができなかったので、これをやってみましたが、多くのエラーで誰かが私を助けてくれますか?あなたのケースでは
二回目
<?php
//I use this function to check if word contain in array
function contains($string, array $array) {
$count = 0;
foreach($array as $value) {
if (false !== stripos($string,$value)) {
++$count;
};
}
return $count == count($array);
}
$string = Welcome @[email protected] we have sent you new info message at @[email protected];
$array = array('@[email protected]', '@[email protected]');
if(contains($string, $array)) {
if($array == '@[email protected]'){
$match_user = str_replace("@[email protected]",$_SESSION['username'],$string);
}else if($array == '@[email protected]'){
$match_user = str_replace("@[email protected]",$useremail,$string);
}else if($array == '@[email protected]'){
$match_user = str_replace("@[email protected]",$userfullname,$string);
}else{
//....
}
}
?>
あなたはstr_replaceで配列を使用することができます。あなたのカスタム関数 'contains'には、[array_search](http:/ /)という組み込み関数がありますので、これを[link](http://stackoverflow.com/questions/7605480/str-replace-for-multiple-items) –
にチェックしてください。 /php.net/manual/en/function.array-search.php) – Jeff