Для основного примера, который вы дали.
<?php
$string = '<SPAN style="TEXT-DECORATION: underline">text sample</SPAN>';
$pattern = '/<SPAN style=\"TEXT-DECORATION: underline\">(.+?)<\/SPAN>/';
$replacement = '<u>$1</u>'
echo preg_replace($pattern,$replacement,$string);
?>
сделает свое дело.
Шаблон регулярного выражения довольно прост - это именно то, что вы ищете (с кавычками и экранированием '/') с помощью (. +?), Который говорит, что включает все возможные символы до закрытия тега SPAN. Это предполагает, что ваш код последовательно отформатирован, вы можете добавить 'i' в конец шаблона $, чтобы сделать его нечувствительным к регистру.
Обратите внимание, что это не совсем правильный способ сделать это.