Нужно регулярное выражение для анализа тегов HTML

Регулярные выражения не являются моей сильной стороной и могут действительно помочь при сопоставлении и замене следующего:

В HTML-файле у меня есть много примеров HTML:

<font class=font8>text text text</font> 

Тэг шрифта может иметь различный контент в виде одного слова или нескольких слов с пробелами и, возможно, числами.

Мне нужно найти все экземпляры этого и заменить:

 <span class="bold">(text that was there)</span> 

Спасибо Джеймсу

PS: HTML был создан из слова, поэтому он так плох: o)

Используйте getElementsByTagName('font') и DOMDocument::loadHTML метод, и DOMDocument::loadHTML итерацию через нодлист, основанный на ->length , затем createElement('span') и setAttribute для значения имени класса для жирного шрифта, замените его на replaceChild .

Ссылка для DOM: http://php.net/manual/en/book.dom.php