Php 用于删除连续字符格式标记的正则表达式
我需要一个正则表达式来匹配和替换简单DOM Html解析器中包含整个段落标记的连续字符格式标记 输入:Php 用于删除连续字符格式标记的正则表达式,php,regex,simple-html-dom,Php,Regex,Simple Html Dom,我需要一个正则表达式来匹配和替换简单DOM Html解析器中包含整个段落标记的连续字符格式标记 输入: <p><b><i>Lorem Ipsum Content</i></b></p> Lorem Ipsum内容 预期输出:Lorem Ipsum 在下面的例子中,正则表达式应该只匹配并替换标记,因为这是包含整个段落标记的唯一标记 例如:输入:文本更多的文本在里面 输出:文本更多的文本在里面 谢谢。这不是一个优雅的,也许是
<p><b><i>Lorem Ipsum Content</i></b></p>
Lorem Ipsum内容
预期输出:Lorem Ipsum
在下面的例子中,正则表达式应该只匹配并替换
标记,因为这是包含整个段落标记的唯一标记
例如:输入:文本更多的文本在里面
输出:文本更多的文本在里面
谢谢。这不是一个优雅的,也许是部分的灵魂
输入
字符串为True时:
替换为“
替换为“
”
中断
<p>\s*(<i>)*\s*.*(<\/i>)\s*<\/p>
\s*()*\s*()\s*
对于
标记,请将
替换为
,等等。它的外观如下:
foreach($html->find('p') as $p) {
while(preg_match('/^<([^>]+)>(.*)<\/\1>$/', $p->innertext, $m)){
$p->innertext = $m[2];
}
}
foreach($html->find('p')作为$p){
while(preg_match('/^]+)>(.*)$/',$p->innertext,$m)){
$p->innertext=$m[2];
}
}
请注意,正则表达式中的\1
与第一个捕获组中的html标记名匹配,这可能不是必需的,但我这样做是为了获得额外的好处