我需要你帮忙.
我想转此:
sometext sometext http://www.somedomain.com/index.html sometext sometext
Run Code Online (Sandbox Code Playgroud)
成:
sometext sometext <a href="http://somedoamai.com/index.html">www.somedomain.com/index.html</a> sometext sometext
Run Code Online (Sandbox Code Playgroud)
我使用这个正则表达式管理它:
preg_replace("#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie", "'<a href=\"$1\" target=\"_blank\">$1</a>$4'", $text);
Run Code Online (Sandbox Code Playgroud)
问题是它还替换了imgURL,例如:
sometext sometext <img src="http//domain.com/image.jpg"> sometext sometext
Run Code Online (Sandbox Code Playgroud)
变成了:
sometext sometext <img src="<a href="http//domain.com/image.jpg">domain.com/image.jpg</a>"> sometext sometext
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我为网络论坛继承了一些相当复杂的代码,我试图实现的功能之一是空间不能被截断为只有一个.这主要是因为我们的用户经常希望在帖子中包含ASCII艺术,表格等.
我首先使用简单的搜索并在javascript中替换,这具有破坏HTML标记的副作用(例如,<a href=....>成为<a href=.....>).
然后我尝试在服务器端执行此操作,当检索字符串时,通过在链接和代码人插入之前转换空格转换为HTML.这在一定程度上起作用,但它会导致代码的其他部分出现一些问题,例如,如果消息被截断以显示在主页上,则可能会留下一些空格代码,例如
这是一条消息&nb
我认为可能有一种方法可以改变原始的javascript来实现这一点 - 它只需要匹配不在HTML标记内的空格.
我最初使用的脚本是message = message.replace(/\s/g, " ").
感谢您提供的任何帮助.