なぜ正規表現は期間を削除しませんか?最終結果は、アルファベットと数字だけでなく、 ' - 'だけを出力するはずですが、出力にピリオドが表示され続けます。私はtrim($ string、 '。')を試しましたが、動作しませんでした。助けてください!正規表現のストリッピング期間はありません
更新!私は正しい解決策でコードを更新しました。ありがとう!
<?php
protected $trimCharacters = "/[^a-zA-Z0-9_-]/";
protected $validWords = "/[a-zA-Z0-9_-]+/";
private function cleanUpNoise($inputText){
$this->inputText = preg_replace($this->trimCharacters, '', $this->inputText);
$this->inputText = strtolower($this->inputText);
$this->inputText = preg_match_all($this->validWords, $this->inputText, $matches);
return $matches;
}
?>
は、すべての非英数字を削除するか、でしょう - 文字implict空白文字、コロン、および+?の削除だから、あなたの '$ splitPattern'に合ったものをすべて削除することは、あなたの次のステップであることを意味しません。' $ trimCharacters'は '$ splitPattern'を暗示しますか? – Kerwindena
implictsとはどういう意味ですか? – Wes
あなたは正しいのですが、$ splitPatternを削除しても、私の正規表現はまだ通り過ぎています "と私はregexpal.comでテストすればうまくいくはずだと言っています – Wes