【发布时间】:2011-10-14 18:27:09
【问题描述】:
我想说我知道关于 SO 的类似问题,但由于我的情况略有不同,我认为最好提出一个新问题。我确实搜索了一个小时,我可能错过了一些东西,如果是这样,请原谅我。
问题:我正在开发一个类似于 facebook 的功能:用户可以发布一条可能包含多个链接的文本消息,这些链接可能会或很多不会放在锚标签中,并且可能有不同的协议(http、https , ftp,....)
我需要
检测这些链接并可能尝试检索它们(就像 facebook 一样)。我猜这是 jquery 的任务?
我还需要可靠地检测外部链接并将其更改为 mysite.com/external?url=thelink。我相信哪个是 php 的任务(因为我不能相信来自客户端的输入对吗?)
无论如何,由于链接不能保证在锚标记中,使用 dom 解析器似乎不太可靠(或者我错了)? 我在网上找到了一个简单的正则表达式(顺便说一句,我觉得我可以使用正则表达式)(通过添加更多协议)
$strText = preg_replace( '/(http|ftp)+(s)?:(\/\/)((\w|\.)+)(\/)?(\S+)?/i', '<a href="\0">\4</a>', $strText );
可以请一些有此任务经验的专家指出正确的方向吗?
【问题讨论】: