PCRE — все Unicode пробелы и переводы строки

У меня следующий мир 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>

Я хочу убрать любой пробел, перевод строки, все невидимые символы, в основном все, кроме букв, и заменить их на один пробел.
Но я также хочу лишить

&nbsp <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, я получаю? вместо …

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]