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

标签 php regex utf-8

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

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

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

正则表达式应该怎样才有效?

如果有解决方案,我们将不胜感激。

最佳答案

全角冒号十六进制代码为 FF1A .

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

因此,使用

\x{FF1A}

匹配单个

这是一个short demo :

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

关于php - 将 UTF-8 字符存储在 ANSI 文件中 [PHP][REGEX],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34223102/

相关文章:

php - MySQL获得前3名给予不同的奖励

python - 我想从内容字符串 : "<a href="http://twitter. com/download/iphone"rel ="nofollow">Twitter for iPhone</a>"中提取特定模式

javascript - 正则表达式允许特殊字符

PHP - 使用下拉菜单对列表进行排序

java - 不使用 php 和 android 保存选定的微调器值

c - 从文本文件中处理 C 中的 UTF-8 字符

php - 不是 XSS 漏洞的 UTF-8 字符

arrays - 使用Jackson以UTF-8编码将Java列表转换为JSON数组

php - 购物车持久性 : $_SESSION or browser cookie?

python - 我如何检查字符串是否是像 isalpha() 这样返回 bool 值的泰语