PHP文字列から削除したいキーワード、記号、文字などをいくつか取得しました。追加しようとしていますが、うまく機能しません。
$string = preg_replace("/(?![=$'%-mp4mp3])\p{P}/u","", $check['title']);
文字列からmp3、mp4、./、applesという単語を削除したいと思います。
私を案内してください、事前に感謝します!
PHP文字列から削除したいキーワード、記号、文字などをいくつか取得しました。追加しようとしていますが、うまく機能しません。
$string = preg_replace("/(?![=$'%-mp4mp3])\p{P}/u","", $check['title']);
文字列からmp3、mp4、./、applesという単語を削除したいと思います。
私を案内してください、事前に感謝します!
まず[]
、正規表現で文字クラスを導入します。ハイフンは、2 つの記号の間の文字範囲を表すために使用されます。したがって、正規表現が(私が推測するように)あまりにも多くの消去を行う理由は、[=$'%-mp4mp3]
means =, $, ', everything from % to m (72 characters actually!), p, 3, 4
.
2番目:正規表現は「悪い」文字/キーワードを取得しません。実際には、否定的な先読みはメタ シーケンスであるため、不適切な文字/キーワードの後に句読点を削除します (一致には含まれません)。
正規表現を次のように変更します。
"/[=$'%-]|mp3|mp4/u"
そのために正規表現は必要ありません。
$string = "Your original string here";
$keywords = array('mp3', 'mp4');
echo str_replace($keywords, '', $string);