-1

我创建了一个函数,通过从数组中放入新单词来替换字符串中的单词。

这是我的代码

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');

输出是

这是我的

应该打印是错误的

这是我的先生

因为单词 (Mrlord) 不包含在数组中。

我希望我能很好地解释我的问题。任何帮助家伙

问候

4

3 回答 3

0

改为使用str_ireplace,它不区分大小写。

于 2012-10-26T23:16:49.517 回答
0

根据代码它是正确的,但您希望它按单词隔离。你可以简单地这样做:

function myseo($t){
    $a = array(' me ',' lord ');
    $b = array(' Mine ',' TheLord ');    
    return str_replace($a,$b, ' '.$t.' ');
}

echo myseo('This is me Mrlord');

请记住,这是一种廉价的黑客攻击,因为我用空格包围替换字符串以确保双方都得到考虑。这不适用于标点字符串。另一种方法是拆分字符串并单独替换每个单词。

于 2012-10-26T23:14:36.447 回答
0

str_replace不只查看完整的单词 - 它查看任何匹配的字符序列。

因此,lord匹配 的后半部分Mrlord

于 2012-10-26T23:15:03.607 回答