I am looking for a regular expression to replace a given line in an html page, but only if the line is not part of the tag itself or is displayed as text inside the link or header.
Examples:
Looking for "replace_me"
<p>You can replace_me just fine</p> Ok
<a href='replace_me'>replace_me</a>
no match
<h3>replace_me</h3>
no match
<a href='/test/'><span>replace_me</span></a> no match
<p style="background:url('replace_me')">replace_me<h1>replace_me</h1></p> first no match, second OK, third no match
Thanks in advance!
UPDATE:
I found a working regex
\b(replace_me)\b(?!(?:(?!<\/?[ha].*?>).)*<\/[ha].*?>)(?![^<>]*>)
source
share