У меня следующий мир HTML:
<td>
<p><span><a href="http://www.someurl.com"><b>
<span>W Bangkok</span></b></a> <br>
106 North Sathorn Road ,Silom, Bangrak<br>
Bangkok, 10500 Thailand<br>
Phone: (66)(2) 344 4000 Fax: (66)(2) 344 4111<o:p></o:p></span></p>
</td>
Я хочу убрать любой пробел, перевод строки, все невидимые символы, в основном все, кроме букв, и заменить их на один пробел.
Но я также хочу лишить
  <br /> and <br>
Регулярное выражение и функция, которую я написал, это:
function clean_data($str)
{
return trim(preg_replace('/(\p{Zs}|\s|\R|\p{Zl}|\p{Z}|\p{Zp})++/u', ' ', $str));
}
Тем не менее, в приведенном выше примере выглядит, как HTML разрывы доставляют мне неприятности. Что я получаю в качестве вывода это:
W Bangkok ‎106 North Sathorn Road ,Silom, Bangrak‎‎ Bangkok, 10500 Thailand‎ Phone: (66)(2) 344 4000 Fax: (66)(2) 344 4111
Как я могу написать лучшее регулярное выражение, чтобы соответствовать всем этим
<br /> and <br>
и все остальное, что может быть пробелом или переводом строки?
Файл сохраняется как UTF-8, когда я сохраняю его как ASCII, я получаю? вместо …
Задача ещё не решена.
Других решений пока нет …