PHP7.0废弃preg_replace后怎么调整
高洛峰
高洛峰 2017-05-16 13:09:06
0
3
561
$options = Typecho_Widget::widget('Widget_Options');
$sUrl = str_ireplace('/', '\/', rtrim($options->siteUrl, '/'));
$preg = '#(<a .*?href=")(?!' . $sUrl . ')([^"]+)"(.*?<\/a>)#ise';
$text = preg_replace($preg, "stripslashes('$1') . '$options->siteUrl' . 'go.html?url=' . base64_encode('$2') . '\" target=\"_blank\"' . stripslashes('$3')", $text);

代码放到PHP7.0后报错了,根据提示得知是preg_replace被废弃了,得用preg_replace_callback代替。请问怎么做?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
Peter_Zhu

preg_replace が放棄されたのではなく、/e 修飾子が放棄されました。

おそらくこのように変更する必要があると思います

リーリー
いいねを押す +0
迷茫

この機能が廃止されたことはどこで確認できますか?
http://php.net/manual/zh/func...
サポート (PHP 4、PHP 5、PHP 7)
エラーメッセージを投稿する

いいねを押す +0
黄舟

Preg 接頭辞が付いた関数は廃止されていませんが、eregi 接頭辞が付いた関数は廃止されました

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!