preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

2024-03-30

echo preg_match("/\b(בדיקה|מילה)\b/iu", "זוהי בדיקה");

由于某种原因,此代码在我测试过的几台服务器上返回 1,但在一台特定服务器上返回 0。

PCRE 编译时支持 UTF-8 和 Unicode 属性。可能是什么问题?


PHP 使用的 PCRE 版本之间可能存在差异。

PHP 和 PCRE 版本:http://php.net/pcre.installation http://php.net/pcre.installation

您应该使用 8.10+ (PHP 5.3.4+)

版本 8.10 2010 年 6 月 25 日: http://www.pcre.org/changelog.txt

  1. 添加 PCRE_UCP 来制作 \b、\d、\s、\w 和某些 POSIX 字符类 使用 Unicode 属性。模式开头的 (*UCP) 可用于设置 这个选项。修改 pcretest 添加 /W 来测试此功能。添加 REG_UCP 以使其可通过 POSIX 接口使用。

Edit:刚刚做了一些测试,它在 PHP 5.3.10 上给出 1,在 PHP 5.3.2 和 PHP 5.3.3 上给出 0。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用 的相关文章

随机推荐

  • Android 警报对话框中的 EditText

    我有一种在片段中创建警报对话框的方法 private void alertDialog final EditText editTextField new EditText this getContext AlertDialog dialog
  • 如何通过单击 Android 中当前选项卡中的按钮来转到其他选项卡?

    我试图在 Android 中编写一段代码 通过单击按钮从一个选项卡切换到另一个选项卡 我知道通过单击选项卡我们可以从一个选项卡切换到另一个选项卡 但是是否可以通过单击一个按钮从一个选项卡切换到另一个选项卡 我尝试了以下教程 http www
  • 是否有一个选项可以从 Azure 函数的部署中获取输出值处的事件网格触发器 url + 键?

    是否有一个选项可以从 Azure 函数的部署中获取输出值处的事件网格触发器 url 键 我们想要做的场景如下 我们通过 ARM 在 VSTS 版本中部署功能服务 部署函数服务后 我们部署事件网格订阅 谢谢 什拉达 阿格拉瓦尔 是的 有一种方
  • Maven依赖解析(冲突)

    假设我有四个项目 项目A 依赖于B和D 项目 B 依赖于 D 项目 C 依赖于 D 项目D 在这种情况下 如果我运行项目 A Maven 将正确解析对 D 的依赖关系 如果我理解正确 Maven 总是采用最短路径的依赖关系 由于 D 是 A
  • asyncio:睡眠亚毫秒间隔

    我正在构建一个基于树莓派的设备 它将具有多个应同时工作的并发功能 在这种情况下 使用 asyncio 看起来是一个合理的选择 好吧 我可以用线程用 C 编写所有这些东西 但 python 代码看起来更紧凑 其中一项功能是通过 GPIO 脉冲
  • 使用 VirtualAllocEX 时出现错误代码 487 (ERROR_INVALID_ADDRESS)

    我正在尝试使用 VirtualAllocEx 当我设置dwSize 第三个参数 为大于约 63 MB 的数字 当我查看时会导致生成错误代码 487GetLastError 但是 它适用于较小的大小 例如 4MB 这是我的代码的一部分 Vir
  • 处理传递给 WCF 服务的无效 URI

    我有 WebGet 和 WebInvoke 属性来描述我的合约 但是处理无效 URI 的最佳方法是什么 现在 如果用户传递的 URI 与我当前的操作不匹配 他们会收到 未找到端点 的消息 信息 我想传回更具描述性的消息 例如 我的 URI
  • Android 动态功能:错误 -2 模块不可用

    我一整天都在调试 没有任何结果 我遵循了每个文档和谷歌代码实验室 并将捆绑包上传到内部测试 但错误仍然存 在 模块不可用 下面是我的实现 Module AndroidManifest xml
  • GAE 向所有活动实例发送请求

    有没有办法将请求发送到 Google App Engine 中模块 服务的所有活动实例 如果我可以获得所有活动实例 ID 的列表 我可以发出如下请求https instance dot version dot service dot app
  • 如何将本地 json 加载到 List 变量中?

    如何将本地 json 加载到 List 变量中 这是我本地的 json id 00 name TRL id 01 name USD id 02 name GBP id 03 name EUR 然而这有效 List
  • 用于代码分析的 Java 库

    有没有任何 Java 库可以帮助构建AST http en wikipedia org wiki Abstract syntax tree来自指定的 java 源文件 反之亦然 从 ASTree 对象生成代码 我需要类似的东西this ht
  • Gradle 多个版本的 GRADLE

    为了清楚起见 这不是关于依赖项的多个版本 而是关于 Gradle 自己的 jar 的多个版本 我想this https stackoverflow com questions 28339270 gradle retains multiple
  • 即使从 BIOS 设置启用虚拟化后,也无法在 Windows 10 Home 上运行 Docker Toolbox

    在运行 docker faststart 终端时出现以下错误 运行预创建检查 预创建检查出错 这 计算机未启用 VT X AMD v 在 BIOS 中启用它是 强制 看起来步骤 检查是否 出了问题 机器默认存在 按任意键继续 我已经尝试了从
  • 有没有办法让flymake只在保存时才编译

    当我输入 Flymake 时 光标会稍微悬起 这有点烦人 我想知道是否有一种方法可以告诉 Flymake 在每次更改某些内容时不要解析和编译 只需在保存时执行即可 还有其他建议吗 Thanks 您可以覆盖flymake after chan
  • 退出vim后保持编辑文件的视图

    当我退出 vim 时 显示内容将恢复为我进入之前所看到的内容 在非 vim vi 上 除了底线之外 您可以保持 vi 屏幕完整 vim 中是否有一个选项允许后一种行为 Vim 使用一个称为备用屏幕在那里编写它的 UI 并在退出时恢复原始 s
  • 在 Swift 中获取 PHAsset 的位置

    由于某种原因location财产在PHAsset仅在 Objective c 中公开 在 Swift 中不公开 文档 PHAsset location https developer apple com library prerelease
  • React Props 未定义

    我无法理解为什么我的 props updateBuilding 不起作用 当 prop 位于 render 方法中时 以下内容有效 class Buildings extends Component constructor props su
  • Apache 不使用 mod_rewrite.c

    所以我只是用 debian apache 等设置了一个 linode 服务器 现在我试图让我正在开发的应用程序运行 但它需要mod rewrite c 因此 很自然地 我转到应用程序的目录 如果重要的话 可能是 PHP 目录 并创建了一个
  • Ember CLI 在生产中失败

    我正在通过 jenkins 部署 Ember CLI 应用程序并使用 nginx 发布它 这是詹金斯构建脚本 npm install bower install node modules ember cli bin ember build
  • preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

    echo preg match b b iu 由于某种原因 此代码在我测试过的几台服务器上返回 1 但在一台特定服务器上返回 0 PCRE 编译时支持 UTF 8 和 Unicode 属性 可能是什么问题 PHP 使用的 PCRE 版本之间