在ANSI文件中存储UTF-8字符[PHP] [REGEX]

时间:2015-12-11 12:01:29

标签: php regex utf-8

我需要一个UTF-8字符的正则表达式匹配,其中我的PHP文件是ANSI文件。

$regex = "/Number:([\w\-]{0,100})<\/td>/";

搜索文本中的冒号不是普通冒号,而是UTF-8全宽冒号。如果我的PHP文件也是UTF-8那么我可以把特殊字符放入并且没有问题。但是,我的PHP文件是ANSI,由于其他地方的限制,我无法改变它。

正则表达式应该起什么作用?

我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

全宽冒号十六进制代码为FF1A

在PHP正则表达式中,您可以在正则表达式中使用\x{<HEX>}表示法。

因此,请使用

\x{FF1A}

匹配单个

这是short demo

$re = '/\x{FF1A}\w+/u';
preg_match($re, ":here 123", $m);
print_r($m); // => [0] => :here