我有一个html WYSIWYG编辑器,供员工在我们的网站上创建非常基本的文本页面。我使用PHP的nl2br
函数将换行符转换为<br>
标记,但是我有这个问题:
如果用户输入字符串:This is a test link http://website.com
auto_link
函数按预期工作。但是,如果我有这个:
This is a test link<br>http://website.com
然后auto_link
功能不起作用。
我已将其缩小到网站地址需要前面一个空格的事实,并且这是CI中使用的正则表达式:
#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\<]+)#i
我不是正则表达式中最流利的,但如果我将上面的表达式更改为:
#(^|\>|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\<]+)#i
(注意第一次捕获中添加的|\>
),然后它工作正常,但我不知道足够的表达式来知道这是否会破坏功能。
如果标签直接在地址之后开始似乎并不重要,但如果地址前没有空格则无关紧要。
任何帮助或信息都将不胜感激。
由于