fork download
  1. <?php
  2. $input = <<<EOD
  3. <p>Cras cursus consequat nibh <a href="#">sapien</a>ac vehicula. Sed erat sapien, condimentum quis risus nec, viverra dignissim nisi. Cras sapien convallis, erat egestas tincidunt <img src="myimage.jpg" alt="sapien" >rutrum, massa enim sagittis ante, sed pellentesque lorem risus vitae enim. Curabitur hendrerit dolor facilisis <a href="sapien">sapien</a> dolor malesuada molestie.</p>
  4. EOD;
  5.  
  6. $output = preg_replace("#\b(sapien)\b(?![^<>]*(<\/a|<\/div|>))#i", "<a href='#'>\\1</a>", $input);
  7.  
  8. echo "INPUT:\n{$input} \n\n OUTPUT:\n{$output}";
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
INPUT:
<p>Cras cursus consequat nibh <a href="#">sapien</a>ac vehicula. Sed erat sapien, condimentum quis risus nec, viverra dignissim nisi. Cras sapien convallis, erat egestas tincidunt <img src="myimage.jpg" alt="sapien" >rutrum, massa enim sagittis ante, sed pellentesque lorem risus vitae enim. Curabitur hendrerit dolor facilisis <a href="sapien">sapien</a> dolor malesuada molestie.</p> 

 OUTPUT:
<p>Cras cursus consequat nibh <a href="#">sapien</a>ac vehicula. Sed erat <a href='#'>sapien</a>, condimentum quis risus nec, viverra dignissim nisi. Cras <a href='#'>sapien</a> convallis, erat egestas tincidunt <img src="myimage.jpg" alt="sapien" >rutrum, massa enim sagittis ante, sed pellentesque lorem risus vitae enim. Curabitur hendrerit dolor facilisis <a href="sapien">sapien</a> dolor malesuada molestie.</p>