Все, что вам нужно, это хорошее регулярное выражение, при условии, что вам удалось заставить его работать хотя бы частично, возможно, у вас плохое выражение (пример поможет).Я протестировал этот код для вас, и он должен работать на всех ваших <hr>
s:
$newtext=preg_replace("#(<hr[^>]*>)#s",$yourprefix."\${1}".$yoursuffix,$oldtext);
переменной oldtext - это то, что вы имели раньше, новый текст - то, что вы хотите, а префикс и суффикс - то, что вы хотитедобавить вокруг тега hr