Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php正则表达式将两个html标记之间的字符串与未知标记进行匹配_Php_Regex_Preg Replace - Fatal编程技术网

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);