I am creating automated mouseover tooltips for definitions of words in a glossary database. The problem is that I can't figure out how to not replace the word when it appears in hyperlinks, img and various heading tags.
I have populated an array with all the words and their definitions - $glossary
What I have at the moment is a simple str_replace, because I actually have no idea how to start this preg_replace.
foreach($glossary as $glossary_word => $glossary_definition){
$content = str_replace($glossary_word,'<a href="javascript:;" style="cursor:help;color:#BF601A;" onmouseover="Tip(\''.$glossary_definition.'\')" onmouseout="UnTip()">'.$glossary_word.'</a>',$content);
}
Would be great if I could populate an array of tags that would be ignored when doing the replace ie:
$tags_to_ignore = array('a','img','h1','h2','h3',etc) and somehow include this in the preg_replace.
What this would mean is that the function would only add the tooltip to occurrences of the word not in these specified tags.
Thanks for any thoughts on this.