/ / Wörter nur in bestimmten Tags ersetzen (Regex)? - PHP, HTML, Regex, Tags, Preg-Replace

Wörter nur in bestimmten Tags ersetzen (Regex)? - PHP, HTML, Regex, Tags, Preg-ersetzen

Zum Beispiel:

Ich möchte ersetzen iOS Wörter an iOS 7 in einer HTML-Zeichenfolge, jedoch nur im Haupttext, mit a <p> Tag (außer in anderen Fällen).

Ich möchte nur das ersetzen:

<p>Say hello to iOS that is contained in the body text</p>
<p>Say hello to iOS 7 that is contained in the body text</p>

Aber will nicht diese ersetzen:

<p>Say hello to <a href="#" alt="iOS 7 in alt text">this link.</a>
<p>Say hello to <img src="/images/iOS 7.jpg" /> this image.
// And so on...

Ist es überhaupt mit Regex möglich?

Antworten:

1 für die Antwort № 1

Sicher, Sie könnten einen regulären Ausdruck verwenden, der einen negativen Lookhind verwendet.

(? <! ") iOs 7

was im Grunde übereinstimmt, außer denen mit "vor ..."

... aber eigentlich sollten Sie wirklich eine Art HTML-Parser wie BeautifulSoup in Betracht ziehen, der all das trivial macht.

Siehe hier:

RegEx passt offene Tags an, mit Ausnahme von XHTML-eigenen Tags