我做了一个函数,通过从数组中添加新单词来替换字符串中的单词。
这是我的代码
function myseo($t){
$a = array('me','lord');
$b = array('Mine','TheLord');
$theseotext = $t;
$theseotext = str_replace($a,$b, $theseotext);
return $theseotext;
}
echo myseo('This is me Mrlord');
输出
这是我的MrTheLord
它应该是打印错误
这是我的Mrllord
因为单词(Mrlord)未包含在数组中。
我希望我能很好地解释我的问题。任何帮助人员
问候
答案 0 :(得分:0)
根据代码它是正确的,但你希望它可以通过单词隔离。您可以简单地执行此操作:
function myseo($t){
$a = array(' me ',' lord ');
$b = array(' Mine ',' TheLord ');
return str_replace($a,$b, ' '.$t.' ');
}
echo myseo('This is me Mrlord');
请记住,这是一种廉价的黑客,因为我用空格包围替换字符串以确保双方都被考虑。这对于间断的字符串不起作用。替代方法是拆分字符串并单独替换每个单词。
答案 1 :(得分:0)
str_replace
不会只查看完整的单词 - 它会查看任何匹配的字符序列。
因此,lord
匹配Mrlord
的后半部分。
答案 2 :(得分:0)
使用str_ireplace
代替,它不区分大小写。