3

記事から特定のストップ ワードを繰り返し削除する必要があります。現在、これを実現するために関数 str_replace を使用しています。最初の引数として、ストップ リスト配列変数を使用して、ストップ ワードの出現をすべて削除します。これは、単語の途中で発生する一致も削除することを除いて、正常に機能します (つまり、ストップ ワードが "th" の場合、"the" や "then" などから "th" が削除されます)。

プレーン テキストを使用して引数を指定した場合は、単語の両側にスペースを追加して状況を改善できます。ただし、変数配列を使用しているため、これは機能しません。連結演算子も使用してみましたが、これは関数内の正当なコネクタではないようです。

現在のコードは次のようになります。

$i = str_replace(" " . $swarray . " ", $string );
4

3 に答える 3

6

preg_replacearray

$find = array('/\bth\b/', '/\bthe\b/', '/\bthen\b/');
$replace = array('', '', '');

echo $i = preg_replace($find, $replace, $string);

または

$find = array('/\bth\b/', '/\bthe\b/', '/\bthen\b/');

echo $i = preg_replace($find, "", $string);

正規表現一致ドキュメント: http://www.php.net/manual/en/function.preg-replace.php#89364

\b Match a word boundary
于 2013-08-26T11:13:46.607 に答える