繁体   English   中英

PHP preg_match_all多个HTML标记

[英]PHP preg_match_all multiple HTML tags

我希望使用单个正则表达式来查找2种多种标签。 我在另一个关于这个主题的问题中找到了使用| 制作一个(p|h1|table)看起来语法,它似乎对我不起作用。

我原来只找到iframe的模式

$removeiframe = preg_replace("#<iframe[^>]+>.*?</iframe>#is", "", $descriptiontext);

我尝试使用的模式:

$removeiframe = preg_replace("#<(iframe|img)[^>]+>.*?</(iframe|img)>#is", "", $descriptiontext);

我目前用最后一种模式得到的回应:

如果文本包含单个iframe,则返回该iframe。

如果文本包含多个iframe,则返回此值

[
    [0] => '<iframe></iframe>'
    [1] => '<img></img><iframe></iframe>'
]

以及我想要得到什么

[
    [0] => '<iframe></iframe>',
    [1] => '<img></img>',
    [2] => '<iframe></iframe>',
]

你应该使用Ungreedy表达式(添加U标志)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM