PHP正则在windows和linux下结果不一致?

发布于 2022-09-07 15:27:55 字数 1658 浏览 13 评论 0

$text = 'ComposerComposer 是 PHP 中用来管理依赖(dependency)关系的工具简单来说,Composer就是一个百宝袋,想用什么功能,直接一键安装拿来用即可比如:「验证码」、「图片水印」等作为phper,composer是必须的工具!composer中文网:http://www.phpcomposer.com composer下载地址:https://getcomposer.org/download 安装成功示例(下载地址中有安装方法):修改composer源为国内镜像,提高下载速度:composer config -g repo.packagist composer https://packagist.phpcomposer.com寻找想要的包:https://packagist.org  我们找一个验证码包来试一试:国内带Google字样的就... passss我们选择第四个:gregwar/captcha安装包点进去后,会有具体安装方法composer require gregwar/captcha我们创建一个新的目录,并使用cmd切换到该目录cd C:\www\test\demo使用composer执行包安装:composer require gregwar/captcha执行成功后,我们的文件夹会变成这样:我们在当前目录创建一个index.php,具体使用这个包生成一个验证码吧具体使用文档,每个包下面都会有具体介绍,亦或者会有文档地址当前包的地址:https://packagist.org/packages/gregwar/captcha浏览器输出前文推荐:使用composer安装laravel:使用composer安装指定版本的laravel';

preg_match_all( '/.{1}/u', $text, $words_array );

var_dump($words_array);

上述代码在windows下php7.0和php7.2下的运行结果:

图片描述

在linux下运行结果(PHP7.0):

图片描述

Linux下的PHP扩展目录:

[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

已知

如果把正则/.{1}/u修改成/.{1}/就可以分隔,但是如果不加模式修正符u,中文会被分隔开
图片描述

会是这个原因吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉世弥音 2022-09-14 15:27:55

我的linux可以运行,是php7 并不清楚你的怎么回事

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文