im mit PHP und ich möchte wissen, wie <p class="xxx"></p>
Tageinige HTML-Tags löschen nur in wenigen Fällen mit php
von diesem löschen:
<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>
dazu:
<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>
Ich möchte <p></p>
löschen, nur wenn <p><a><figure><img/><figcaption><h1></h1><cite></cite></figcaption></figure></a></p>
ich versuche dies :
$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;
aber ich kann es nicht bekommen, können Sie mir bitte helfen.
keine Regexes verwenden. benutze [DOM] (http://php.net/dom). Du wirst FAR mehr Zeit damit verbringen, vor Frustration zu schreien und Haare auszureißen, die versuchen, eine Regex herauszufinden, als du DOM lernst, und deine Stimmbänder und Frisur intakt zu halten. –
Obligatorisch: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags#answer-1732454 –