1
我創建了一個論壇管理頁面,管理員可以一次發送所有註冊成員的信息消息,並提及他們的名字或電子郵件使用此@[email protected]
或@[email protected]
等。 現在我試圖取代@[email protected]
如果消息正文包含它或任何使用提及$_SESSION['username']
的符號,並輸出正在查看該消息的當前用戶的用戶名。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函數使用數組。檢查這個[鏈接](http://stackoverflow.com/questions/7605480/str-replace-for-multiple-items) –
爲您的自定義函數'contains'有一個內置函數稱爲[array_search](http:///php.net/manual/en/function.array-search.php) – Jeff