![]() |
1
18
看起来这是一个“功能”,请参见 http://bugs.php.net/bug.php?id=37391 “U”开关只对PCRE有意义,PHP本身并不知道。 从PHP的角度来看,字符串是字节序列,返回字节偏移量似乎是合乎逻辑的(我不说“正确”)。 |
![]() |
2
34
虽然 U 修饰符使模式和主题都被解释为UTF-8,捕获的偏移量仍然以字节为单位计数。
你可以使用
|
![]() |
3
25
尝试添加这个 (*UTF8) 在regex之前:
魔术,感谢在 http://www.php.net/manual/es/function.preg-match.php#95828 |
![]() |
4
5
请原谅我做了尸检,但可能有人会发现它很有用:下面的代码既可以代替preg-match,也可以代替preg-match,返回正确的匹配 对的 UTF8编码字符串的偏移量。
我的示例输出:
|
![]() |
5
1
如果您只想找到h的多字节安全位置,请尝试mb_strpos()。
输出:
|
![]() |
6
1
我编写了一个小类来将preg_match返回的偏移量转换为适当的utf偏移量:
你可以这样使用它:
|
![]() |
7
0
你可能想看看 T-Regx 图书馆。
这个
|
![]() |
M - · 为什么两个相同的表情符号不相等? 2 年前 |
![]() |
Mohsen · 将字符串从Windows 1256转换为UTF-8 6 年前 |
![]() |
AMINA ARSHAD · 从字符转换为Unicode数字时出错 6 年前 |
![]() |
Taqwa · 在C#[已关闭]中将上标转换为Unicode 6 年前 |