PCRE - 所有Unicode空间和换行符

时间:2014-11-06 03:31:39

标签: php regex unicode pcre

我遵循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

如何编写更好的regural表达式来匹配所有

<br /> and <br>

以及其他可能是空格或换行符的其他内容?

文件保存为UTF-8,当我将其保存为ASCII时,我得到了吗?而不是â€

0 个答案:

没有答案