PHP - preg_replace_callback函数

时间:2017-08-02 07:05:50

标签: php preg-replace-callback

我有一个preg_replace_callback功能,当我打开我的网页时,我收到以下警告:

  

警告:preg_replace_callback():需要参数2,   'stripslashes(strstr(“\ 2 \ 5”,“rel = \ class =”)?“\ 1”:

这是我的功能:

function ace_colorbox_replace($string) {

     $pattern = '/(<a(.*?)href="([^"]*.)'.IMAGE_FILETYPE.'"(.*?)><img)/ie';

     $result = 'stripslashes(strstr("\2\5","rel=\class=") ? "\1" : "<a\2href=\"\3\4\"\5 rel=\"colorbox\" class=\"colorbox\"><img")';

     return preg_replace_callback($pattern, $callback, $string);

}

有人可以帮帮我吗? 由于
Br Robert

2 个答案:

答案 0 :(得分:0)

您编写的功能不完整

preg_replace_callback($pattern, $callback, $string);中的{p>您$pattern已定义好,但$callback变量未定义

您必须定义它或使用常量

您还有$result变量未使用,因此不必要

答案 1 :(得分:0)

哦,是的,这是一个复制错误

function ace_colorbox_replace($string) {
  $pattern = '/(<a(.*?)href="([^"]*.)'.IMAGE_FILETYPE.'"(.*?)><img)/ie';
  $callback = 'stripslashes(strstr("\2\5","rel=\class=") ? "\1" : "<a\2href=\"\3\4\"\5 rel=\"colorbox\" class=\"colorbox\"><img")';
  return preg_replace_callback($pattern, $callback, $string);
}