我一直在使用这个函数一段时间,但这是我第一次遇到PHP str_replace函数的这个奇怪的问题。这里是我的代码...php str_replace只替换针数组中的第一个值
$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 *阿格拉,S3X)
e2p_words_2b是(现金,伟哥,性别)
现在,当我运行它,只有第一个字c*sh被替换为cash。在e2p_message中发生的其他e2p_words保持不变。
我也没有收到任何错误或警告。
2012-04-25
Atif
+0
请发表你执行 –
2012-04-25 12:17:40
+0
我已经编辑了原来的职位增加的额外位相关的代码代码来显示数组如何获取数据 –
2012-04-25 13:17:54