0

私はかなり単純な正規表現を使用して、その領域を [LINK REMOVED] と変更するために投稿されたリンクを作成しています。私がやりたいのは、リンク自体を削除するのではなく、1 つのスペースで入力したものを完全に消去することです。

私はまだ正規表現が得意ではないので、本当に助けてもらえます! これが私が現時点で持っているものです。

$comment = preg_replace('%[a-zA-Z0-9\-\.]+\.
(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)%', '[LINK REMOVED]', $comment);
4

1 に答える 1

1

試合でコメント全体を消費することができます:

$comment = preg_replace('%^.*[a-z0-9.-]+\.(com|org|net|mil|edu).*$%is', ' ', $comment);

またはpreg_match、コメントを自分で使用して削除します。

if(preg_match('%[a-z0-9.-]+\.(com|org|net|mil|edu)%i', $comment))
    $comment = ' ';

また、大文字と小文字を区別しない修飾子を使用iし、文字クラスで不要なエスケープを削除することで、正規表現をわずかに最適化したことに注意してください(これを機能させるには、文字クラスの最後にハイフンを付ける必要があります)。

于 2012-11-11T11:27:12.167 に答える