Php正则表达式将两个html标记之间的字符串与未知标记进行匹配
好的,这是我的问题: 我有一个链接,比如: 链接在两个标签之间,如下所示:Php正则表达式将两个html标记之间的字符串与未知标记进行匹配,php,regex,preg-replace,Php,Regex,Preg Replace,好的,这是我的问题: 我有一个链接,比如: 链接在两个标签之间,如下所示: <br>http://www.blablabla.com/watch?v=1lyu1KKwC74&feature=list_other&playnext=1&list=AL94UKMTqg-9CfMhPFKXPXcvJ_j65v7UuV<br></p> http://www.blablabla.com/watch?v=1lyu1KKwC74&feature=l
<br>http://www.blablabla.com/watch?v=1lyu1KKwC74&feature=list_other&playnext=1&list=AL94UKMTqg-9CfMhPFKXPXcvJ_j65v7UuV<br></p>
http://www.blablabla.com/watch?v=1lyu1KKwC74&feature=list_other&playnext=1&list=AL94UKMTqg-9CfMhPFKXPXcvJ_j65v7UuV
将此正则表达式与preg_replace一起使用:
'@(^|[^\/]|[^>])('.addcslashes($link,'.?+').')([^\w\/]|[^<]$)@i'
“@(^.[^\/].[^>])('.addcslashes($link,'.?+'))([^\w\/].[^])('.addcslashes($link,'.?+'))。([^\w\/].[^假设您出于某种原因不想使用DOM解析器,我相信做您想要做的事情很简单,如下所示:
preg_replace('@(^|[^\/]|[^>])('.addcslashes($link,'.?+').')([^\w\/]|[^<]$)@i', "$1***$3",$strText);
preg_replace('@(^\[^\/].[^>])('.addcslashes($link,'.?+'))。)([^\w\/]|[^请不要使用正则表达式来匹配HTML标记之间的文本。请使用@Cthulhu示例!!!另外,请注意链接位于两个
标记之间,因为这就是tinyMCE在新行上格式化文本的方式http://simplehtmldom.sourceforge.net/
。看看如何获取HTML元素
部分。我仍然没有找到解决方案。正如我所看到的,tbr标记没有id或class属性的解决方案。正在寻找更好的答案。非常好!非常感谢:)
<br***p>
<br>***<br></p>
preg_replace('@(^|[^\/]|[^>])('.addcslashes($link,'.?+').')([^\w\/]|[^<]$)@i', "$1***$3",$strText);