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

出力は

これは私のものです MrTheLord

それは間違っている

これはマイン・ミスターロードです

単語 (Mrlord) が配列に含まれていないためです。

私の問題を良い方法で説明したことを願っています。助けて

よろしく

4

3 に答える 3

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 に答える
0

代わりに使用str_ireplaceしてください。大文字と小文字は区別されません。

于 2012-10-26T23:16:49.517 に答える