str_replace
我已经使用这个函数有一段时间了,但这是我第一次在 PHP 的函数上遇到这个奇怪的问题。这是我的代码...
$e2p_perline = explode(',', $e2p_wrd_rplc);
$e2p_words = array();
$e2p_words_2b = array();
$e2p_loopcounter = 0;
foreach($e2p_perline as $line){
$e2p_line_words = explode('-', $line);
$e2p_words[$e2p_loopcounter] = $e2p_line_words[0];
$e2p_words_2b[$e2p_loopcounter] = $e2p_line_words[1];
$e2p_loopcounter++;
}
$e2p_message = str_replace($e2p_words, $e2p_words_2b, $e2p_message);
$e2p_wrd_rplc
是使用 wordpress 的 get_option() 函数从数据库加载的字符串。这种格式的字符串数据c*sh-cash, v*gra-viagra, s3x-sex,....
$e2p_words
是一个用要替换的词$e2p_words_2b
填充的数组,是一个用替换词填充的数组。
假设我们有
e2p_words
是 (c*sh, v*agra, s3x)
e2p_words_2b
是(现金、伟哥、性)
现在,当我运行它时,只有第一个单词c*sh
被替换为cash
. 其余e2p_words
事件e2p_message
保持不变。
我也没有收到任何错误或警告。