今夜、私が使用しているストリッピング機能の1つが、ランダムに単語をスキップしているように見えることに気づきました。
<?php
function wordstrip($document){
//I truncated the list here for brevity
$wordlist = array(
"it39s",
"039",
"the",
"while",
"message");
//convert all uppercase to lower so matches work correctly
$document = strtolower($document);
foreach($wordlist as $word)
$document = preg_replace("/\s". $word ."\s/", " ", $document);
//echo $word;
//echo $document;
$nopunc = preg_replace('/[^a-z0-9]+/i', ' ', $document);
$trimmed = trim($nopunc);
return $trimmed;
}
?>
「the」という単語をスキップしているので、理由がわかりません。リストは200語のようなもので、他のほとんどの単語を取り除いているので、その機能を知っています。
「死にゆくベテランからのジョージ・W・ブッシュとディック・チェイニーへの最後の手紙」を送り、「死にゆくベテランからのジョージ・W・ブッシュとディック・チェイニーへの最後の手紙」を返しました。
「the」は文字列の先頭にあるので、「/\s」が原因だと思います。「/\s?」を試してみました しかし、それはうまくいきませんでした。スペースをオプションにするだけでいいと思いますよね?
ありがとうございました