PHP7.3でAutoAliasNameに日本語が含まれていると本文が表示されないことがある

メッセージ

PHP7.3で、正規表現ライブラリPCREのエンジンが更新されたことによる不具合です。

pukiwiki:質問箱/5383

$ $php72 --version
PHP 7.2.0 (cli) (built: Nov 29 2017 00:17:00) ( ZTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies

$ $php73 --version
PHP 7.3.0 (cli) (built: Dec  6 2018 02:17:00) ( ZTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies

b2512.php:

<?php
echo "旅行\n";
echo bin2hex('旅行') . "\n";
$s = preg_replace('/旅/x', '_', '旅行');
echo "$s\n";
echo bin2hex($s) . "\n";

実行(UTF-8):

$ $php72 b2512.php
旅行
e69785e8a18c
_行
5fe8a18c

$ $php73 b2512.php
旅行
e69785e8a18c
_▒行
5f85e8a18c

「旅」e6 97 85 のうち 3バイト目 85 が置換されずに残っている。

実行(EUC-JP):

$ $php72 b2512eucjp.php
旅行
ceb9b9d4
_行
5fb9d4

$ $php73 b2512eucjp.php
旅行
ceb9b9d4
_行
5fb9d4

EUC-JPの場合 PHP7.2とPHP7.3 で差分無し




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-08-21 (金) 02:40:19
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.366 sec.

OSDN