我希望实现一个系统来从用户发布的文本中删除网址。
我知道没有完美的解决方案,用户仍会尝试以下内容:
www dot google dot com
所以我知道最终任何解决方案都会以某种方式存在缺陷......我真正希望做的就是减少做这件事的人数。
任何建议,来源或方法,
谢谢
答案 0 :(得分:1)
有许多正则表达式模式匹配器here。其中一些非常复杂。 我建议运行多个可能是一个好主意。
答案 1 :(得分:0)
您需要准确定义要删除的内容。定义越严格,您将得到越多的误报。以下示例将删除任何包含3个字符的字符串,后跟句点,更多字母,另一个句点和2-4个字母:
$text = preg_replace('/[a-z]{3}\.[a-z]+\.[a-z]{2,4}/i', '', $text);
严格性的另一端可能是任何以句点结束的事物和2-4个字母(如.com
):
$text = preg_replace('/[a-z]+\.[a-z]{2,4}/i', '', $text);
请注意,如果有人忘记在句子之间添加空格,后者会删除句子的最后一个单词,句号和句子的第一个单词。