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



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

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

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

正则表达式应该是什么才能工作?

如有解决方案,不胜感激。

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

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

因此,使用

x{FF1A}

匹配单个

这里有一个简短的演示:

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

最新更新