我使用php.exe
运行了以下脚本
preg_replace('#(?:^[^\pL]*)|(?:[^\pL]*$)#u','',$string);
或其等价物:
preg_replace('#(?:^[^\pL]*|[^\pL]*$)#u','',$string);
如果是$string="S"
或$string=" ذذ "
,它就可以工作;如果是string='ذ'
,它就会生成不正确的�
;如果string='ذذ'
PHP崩溃了,它就会崩溃。
但它适用于4.4.0 - 4.4.9,5.0.5 - 5.1.6版本。
出什么问题了?
<?php
$string='دد';
echo preg_replace('#(?:^[^\pL]*)|(?:[^\pL]*$)#u','',$string);
5.4.0 - 5.5.0alpha6的
输出
进程已退出,代码为139。
5.2.0 - 5.3.22,5.5.0beta1 4.4.0 - 4.4.9,5.0.5 - 5.1.6输出
دد
4.3.11、5.0.0 - 5.0.4的输出
警告: preg_replace():编译失败: PCRE不支持第3行/ in /T3rpV中偏移量为7的\L、\l、\N、\P、\p、\U、\u或\X
4.3.0 - 4.3.10的输出
警告:编译失败: PCRE不支持第3行上/ in /T3rpV中偏移量为7的\L、\l、\N、\P、\p、\U、\u或\X
https://stackoverflow.com/questions/15608203
复制相似问题