fork download
<?php

$re = '/<a href[^>]*(?:(?:@|!|%|#)\w+|\{\w+\})[^>]*>\K|((?:@|!|%|#)\w+|\{\w+\})/m';
$str = 'Hello Bob @foo <a href="/someurl/!foobar/!bar">Word {foobar} </a> #foo someword #bar
<a href="/abc/d>koramamam</a>';
$subst = '<span class="notranslate">$1<\\\\span>';

//$result = str_replace('/<span class="notranslate"><\\\\span>/m',"",preg_replace($re, $subst, $str));
$result = preg_replace('/<span class="notranslate"><\\\\span>/m',"",preg_replace($re, $subst, $str));

echo $result;


?>
Success #stdin #stdout 0.02s 24400KB
stdin
Standard input is empty
stdout
Hello Bob <span class="notranslate">@foo<\span> <a href="/someurl/!foobar/!bar">Word <span class="notranslate">{foobar}<\span> </a> <span class="notranslate">#foo<\span> someword <span class="notranslate">#bar<\span>
<a href="/abc/d>koramamam</a>