簡體   English   中英

Database.php中的Kohana preg_replace錯誤

[英]Kohana preg_replace error in database.php

ErrorException [8192]:preg_replace():不建議使用/ e修飾符,而應在http://mastersoftwaretechnologies.com/kohana/index.php/user/login上使用preg_replace_callback

這在我的kohana-3.2

更換

$column = preg_replace('/"(.+?)"/e', '$this->quote_column("$1")', $column);

$column = preg_replace_callback('/"(.+?)"/', function($m) { return $this->quote_column($m[1]); }, $column);

在文件MODPATH / database / classes / kohana / database.php第525行中

看來您使用的是PHP 5.5。 如果要使用preg替換eval,則必須對其進行修改,因為它由於安全原因而被棄用: http ://php.net/manual/zh/migration55.deprecated.php

在PHP 5.5中,您應該使用preg_replace_callback()

您將在這里找到一個很好的例子: 用preg_replace_callback替換不贊成使用的preg_replace / e

並在此處了解其工作原理: 用preg_replace_callback替換preg_replace()e修飾符

只需相應地修改第二個參數,即可進行匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM