DU kan använda dig av regjulära uttryck så här:
<?php
$test_string = "<abbr title=\"kalorier\">kcal</abbr>"; # en test grej bara
### skapa arrays med vad som ska ersättas och med vad
$patterns[0] = "|<abbr title=\"(.*?)\">(.*?)</abbr>|s";
$replacements[0] = "<abbr title=\"\$1\"><span class=\"abbr\" title=\"\$1\">\$2</abbr>";
### sortera arraysen för säkerhetsskull
#( i fall du använder flera olika mönster och replacements)
ksort($patterns);
ksort($replacements);
// utför ersättandet
$test_string = preg_replace($patterns, $replacements, $test_string);
## här har du en ny sträng
echo "<br />Ny stärng $test_string";
?>
för mer info om hur detta fungerear hänvisar jag till en tutorial jag hittat. http://www.phpfreaks.com/tutorials/123/2.php
Om du har två uttryck skulle du kunna göra en funktion så här
<?php
function byt_ut($ord,$title,$string) {
### skapa mönstret och vad som ska bytas ut
$pattern = "|".$ord."|s";
$replacement = "<abbr title=\"".$title."\"><span class=\"abbr\" title=\"".$title."\">$ord</abbr>";
// utför ersättandet
$string = preg_replace($pattern, $replacement, $string);
return $string;
}
# sedan anropar du funktionen så här
echo byt_ut('kacl','kalorier','Jag fick i mig 1000 kacl till frukost');
?>