這不是工作,這是怎麼回事,應該是這麼簡單:-(PHP的字符串替換難倒我
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
foreach ($swearWords as $naughty)
{
$post = str_ireplace($naughty, "<b><i>(oops)</i></b>", $test);
}
echo $post;
感謝
這不是工作,這是怎麼回事,應該是這麼簡單:-(PHP的字符串替換難倒我
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
foreach ($swearWords as $naughty)
{
$post = str_ireplace($naughty, "<b><i>(oops)</i></b>", $test);
}
echo $post;
感謝
你(總是)使用$測試作爲輸入參數。
在foreach循環的第二次迭代的針notallowed
的例子中沒有找到,並且因此輸入字符串$test='hello naughty'
原封不動地返回。
<?php
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
$post = $test;
foreach ($swearWords as $naughty)
{
$post = str_ireplace($naughty, "<b><i>(oops)</i></b>", $post);
}
echo $post;
個
打印hello <b><i>(oops)</i></b>
和str_ireplace可以採取針陣列作爲第一參數
<?php
$test = "hello notallowed, this is naughty";
$post = str_ireplace(array("naughty","notallowed"), "<b><i>(oops)</i></b>", $test);
echo $post;
打印hello <b><i>(oops)</i></b>, this is <b><i>(oops)</i></b>
。
是的,我現在看到了問題,我正在沉默...... – Lee
$ swearWords = array(「naughty」); 然後它說(哎呀)而不是淘氣。
您可以直接使用陣列更換
<?php
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
$post = str_ireplace($swearWords, "<b><i>(oops)</i></b>", $test);
echo $post;
?>
使用
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
$post = str_ireplace($swearWords,"<b><i>(oops)</i></b>",$test)
echo $post;
代替。有關函數處理數組參數的方式,請參閱str_ireplace。
嘗試用這種
$test = "hello naughty";
$swearWords = array("naughty","notallowed");
foreach ($swearWords as $naughty)
{
//$post = str_ireplace($naughty, "(oops)", $test);
echo str_ireplace($naughty,"<b><i>(oops)</i></b>",$test)."<br>";
}
嘗試編輯的代碼
不,你有你的參數錯誤的方式。 –
支持其他的答案我有幾個環節表示例來幫助你。
這些對你有幫助並解決你的問題。
http://www.w3schools.com/php/func_string_str_ireplace.asp
http://php.net/manual/en/function.str-ireplace.php
感謝。
'$ post'或'$ test'? – Dogbert
如果有疑問,請在腳本中的每個步驟輸出每個相關變量。這會使問題在這種情況下非常明顯。 – deceze