我正在寻找一个多字节函数来替换preg_match_all()
。我需要一个能够为我提供一组匹配字符串的数组,例如$matches
论证来自preg_match()
。功能mb_ereg_match()
似乎没有这样做——它只给我一个布尔值来指示是否有任何匹配。
查看 mb_* 函数page http://www.php.net/manual/en/ref.mbstring.php,我没有立即看到任何可以取代功能的东西preg_match()
。我用什么?
Edit我是个白痴。我最初发布这个问题要求更换preg_match
,这当然是ereg_match
。然而,这两个都只返回第一个结果。我想要的是替代品preg_match_all
,它返回所有匹配文本。但无论如何,u
修饰符适用于我的情况preg_match_all
正如哈克莱指出的那样。
你有没有看过mb_ereg http://www.php.net/manual/en/function.mb-ereg.php?
此外,您可以将 UTF-8 编码的字符串传递给preg_match
使用u修饰语 http://php.net/manual/en/reference.pcre.pattern.modifiers.php,这可能是您需要的多字节支持。另一种选择是编码为 UTF-8,然后将结果编码回来。
另请参阅相关问题的答案:PHP preg_functions 多字节安全吗? https://stackoverflow.com/questions/1766485/are-the-php-preg-functions-multibyte-safe/1766546#1766546
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)