0

で「##」に一致する単語を$newstring置き換えています。これにより、localhost のすべての単語が正常に置き換えられますが、ライブ サーバーでこのコードを実行すると、多くの単語が無視されます。

これを引き起こしている可能性のある提案、またはそれを修正する方法はありますか?

  for($i=0;$i<count($result);$i++)
      {
       $commanword = trim(strtolower($result[$i]['Words']));
       $newstring = preg_replace("/\b".$commanword."\b/i", '##', $newstring);
      }
4

3 に答える 3

1

ちょっと友達私はそれを修正しました。これは PCRE (Perl Compatible Regular Expressions) のサポートの問題であり、私たちのサーバーでは無効になっています。有効にするとサーバーで動作するようになりました。mc0e と Joran Den Houting の両方に感謝します。

于 2013-09-20T10:25:35.207 に答える
1

これを試して:

for($i=0;$i<count($result);$i++)
  {
   $commanword = trim(strtolower($result[$i]['Words']));
   $pre = "/\\b" . $commanword . "\\b/i";
   $newstring = preg_replace($pre, '##', $newstring);
  }
于 2013-09-19T12:09:41.547 に答える