【发布时间】:2016-07-20 21:54:19
【问题描述】:
我正在使用 php,我想知道如何删除 <p class="xxx"></p> 标签
从此:
<p class="xxx">
<a href="xxx" target="xxx">
<figure>
<img src="xxx"/>
<figcaption class="xxx">
<h1 class="xxx">Text</h1>
<cite class="xxx">Text</cite>
</figcaption>
</figure>
</a>
</p>
到这里:
<a href="xxx" target="xxx">
<figure>
<img src="xxx"/>
<figcaption class="xxx">
<h1 class="xxx">Text</h1>
<cite class="xxx">Text</cite>
</figcaption>
</figure>
</a>
我想在 <p><a><figure><img/><figcaption><h1></h1><cite></cite></figcaption></figure></a></p> 时删除 <p></p>
我试试这个:
$html = preg_replace("'
(<p[^>]*>)([^<]*<a[^>]*>[^<]*<figure[^>]*>[^<]*<img[^>]*>[^<]*<figcaption[^>]*>[^<]*<h1[^>]*>[^<]*</h1[^>]*>[^<]*<cite[^>]*>[^<]*</cite[^>]*>[^<]*</figcaption>[^<]*[^<]*</figure>[^<]*[^<]*</a>[^<]*)(</p>)'sim", "$2", $valBody);
echo '<H1>Nuevo </H1><br>' . $html;
但我无法得到它,请你帮帮我。
【问题讨论】:
-
不要使用正则表达式。使用DOM。与学习 DOM 并保持声带和发型完好无损相比,您将花费更多的时间在沮丧中尖叫和撕扯头发试图找出正则表达式。