Php PCRE-所有Unicode空格和换行符
我有以下HTML的和平:Php PCRE-所有Unicode空格和换行符,php,regex,unicode,pcre,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
<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>
然而,在上面的示例中,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时,我得到了什么?您的代码似乎没有将数据作为UTF-8进行处理,而不是–Ž。字符串“–Ž”是将U+200E从左到右的UTF-8编码形式,即0xE2 0x80 0x8E解释为windows-1252编码数据时得到的。如何使我的代码将数据处理为UTF-8?我正在使用fread()将整个页面读入一个变量字符串,然后使用PHP DOM loadHTML()方法。看起来我无法影响接收到的数据,我将regex改进为:'/[^\p{L}\p{N}\p{Nd}\p{Nl}\p{No}\p{p}\p{S}\p{M}]+/u'。当我查看记事本中的文本时,我看到从左到右的标记,它们会导致问题。
W Bangkok ‎106 North Sathorn Road ,Silom, Bangrak‎‎ Bangkok, 10500 Thailand‎ Phone: (66)(2) 344 4000 Fax: (66)(2) 344 4111
<br /> and <br>