0

我正在使用一个相当简单的正则表达式来发布链接以更改该区域以显示 [LINK REMOVED]。不过,我想要做的是完全清除他们用一个空格键入的任何内容,而不是仅仅删除链接本身。

我对正则表达式还不是很好,所以我真的可以使用帮助!这就是我目前所拥有的。

$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 回答