我正在修改我们的一个Joomla模板,我收到了这个警告。
不推荐使用:preg_replace():不推荐使用/ e修饰符 而不是preg_replace_callback /home/folder/public_html/components/com_joomgallery/helpers/helper.php 在第255行
代码是这样的:
$text = preg_replace('/('.$replace2.')/ie', $replace, $text);
整个代码块:
public static function createPagetitle($text, $catname = '', $imgtitle = '', $page_title = '')
{
preg_match_all('/(\[\!.*?\!\])/i', $text, $results);
define('COM_JOOMGALLERY_COMMON_CATEGORY', JText::_('COM_JOOMGALLERY_COMMON_CATEGORY'));
define('COM_JOOMGALLERY_COMMON_IMAGE', JText::_('COM_JOOMGALLERY_COMMON_IMAGE'));
for($i = 0; $i<count($results[0]); $i++)
{
$replace = str_replace('[!', '', $results[0][$i]);
$replace = str_replace('!]', '', $replace);
$replace = trim($replace);
$replace2 = str_replace('[!', '\[\!', $results[0][$i]);
$replace2 = str_replace('!]', '\!\]', $replace2);
$text = preg_replace('/('.$replace2.')/ie', $replace, $text);
}
$text = str_replace('#cat', $catname, $text);
$text = str_replace('#img', $imgtitle, $text);
$text = str_replace('#page_title', $page_title, $text);
$text = self::addSitenameToPagetitle($text);
return $text;
}
答案 0 :(得分:0)
最后,这段代码有效:
$text = preg_replace_callback('/('.$replace2.')/',create_function('$replace','return @replace;'),$text);
谢谢大家。