1

根据手册页,我已经尝试了几种方法来做到这一点,但我似乎无法做到这一点,反正也不完全是..

要查找和替换这个,从即将输出的部分..

<!--nextpage--><!--tab_title:DAILYMOTION-->
[dailymotion xkbbmb]
<!--nextpage--><!--tab_title:DAILYMOTION-->
[dailymotion xkbbmf] 

使用与此类似的模式:

[dailymotion + ] + <!--nextpage--><!--tab_title:DAILYMOTION--> 

然后删除...

<!--nextpage--><!--tab_title:DAILYMOTION--> 

使其输出:

<!--nextpage--><!--tab_title:DAILYMOTION-->
[dailymotion xkbbmb]
[dailymotion xkbbmf] 

我发现尖括号很难处理,所以我想知道是否有正则表达式语法可以只替换 !--nextpage-- 左侧的一个字符和右侧的一个字符以摆脱整个事情。有没有更好的办法?

4

2 回答 2

-1

我认为你只需要转义尖括号就可以了。

preg_replace("#\[dailymotion .+?\](\<!--nextpage--\>\<\!--tab_title\:DAILYMOTION--\>)#s",'',$string);
于 2011-08-04T15:03:44.277 回答
-1

就像 Marc 在评论中说的那样,使用 DOM 更好,但到底是什么,我会试一试

$output = preg_replace("~(\[dailymotion [^\]]+\])\s*<!--nextpage--><!--tab_title:DAILYMOTION-->~", "$1", $input);
于 2011-08-04T15:27:44.787 回答