如何把下面的preg_replac替换成preg_replac_callback

        $source_content = preg_replace($search, "'"
                                       . $this->_quote_replace($this->left_delimiter) . 'php'
                                       . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
                                       . $this->_quote_replace($this->right_delimiter)
                                       . "'"
                                       , $source_content);

replacement 输出为
string '<{php' . str_repeat("
", substr_count('0', "
")) .'}>' (length=54)

阅读 2.5k
1 个回答

preg_replace_callback无非就是把替换的操作传到另一个callback函数处理而已。

这个callback函数会被传入一个匹配结果的数组,和preg_match的第三个参数得到的数组结构是一样的。然后return替换后的结果。

preg_replace_callback会把callback函数return的结果替换掉匹配的那部分,然后再把结果作为返回值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题