请帮我修复我的正则表达式!真的难倒在这里

时间:2012-11-11 10:49:22

标签: regex hyperlink expression

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

我对正则表达式不太好,所以我真的可以使用这个帮助!这就是我现在所拥有的。

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

1 个答案:

答案 0 :(得分: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稍微优化了正则表达式,并删除了字符类中不必要的转义(为了使其起作用,连字符必须位于字符类的末尾)。