不同版本PHP的PCRE在UTF8编码下的问题
平台:
系统版本: OS X Yosemite 10.10.1
内核版本: Darwin 14.0.0
PHP代码(文件的编码是UTF-8的)
<code>$str = '自此直至2010年n'; preg_match_all('/(\w+)/u', $str, $matches); print_r($matches[0]); </code>
PHP 5.5.14(MAC默认)
PCRE版本:PCRE Library Version 8.02 2010-03-19
输出:
<code>Array ( [0] => 2010 [1] => n ) </code>
PHP 5.4.36(brew安装)
PCRE版本:PCRE Library Version 8.32 2012-11-30
输出:
<code>Array ( [0] => 自此直至2010年n ) </code>
请问这2个版本的差异如何避免呢?
回复内容:
平台:
系统版本: OS X Yosemite 10.10.1
内核版本: Darwin 14.0.0
PHP代码(文件的编码是UTF-8的)
<code>$str = '自此直至2010年n'; preg_match_all('/(\w+)/u', $str, $matches); print_r($matches[0]); </code>
PHP 5.5.14(MAC默认)
PCRE版本:PCRE Library Version 8.02 2010-03-19
输出:
<code>Array ( [0] => 2010 [1] => n ) </code>
PHP 5.4.36(brew安装)
PCRE版本:PCRE Library Version 8.32 2012-11-30
输出:
<code>Array ( [0] => 自此直至2010年n ) </code>
请问这2个版本的差异如何避免呢?
去掉 u
修饰符就好了,DEMO: http://3v4l.org/c0469
u (PCRE_UTF8)
此修正符打开一个与 perl 不兼容的附加功能。 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 开始可用。 php 4.3.5 开始检查模式的 utf-8 合法性。
- 模式修饰符

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
