【问题标题】:how i use there preg_replace_callback?我如何使用 preg_replace_callback?
【发布时间】:2015-05-03 19:01:24
【问题描述】:

我使用一个论坛脚本。它适用于 php5.4 中的以下脚本。但是,使用 php5.5 会出现如下图所示的问题。 error http://oi60.tinypic.com/k0hyfq.jpg

完整尺寸的图片可以在这里找到:http://oi60.tinypic.com/k0hyfq.jpg

代码:

// replace RE: RE: RE: by RE[3]:
$this->subject = preg_replace('/(^RE: RE\[)(\d+)(?=\]:)/ie', '"RE[".(\\2+1)', $this->subject);
$this->subject = preg_replace('/^(RE: RE:(?: RE:)+)/ie', '"RE[".substr_count("\\1", "RE:")."]:"', $this->subject);

【问题讨论】:

  • 你想了解回调什么? PHP 文档应该为您提供有关 preg_replace_callback() 的足够信息。请让我们知道您遇到了什么问题。
  • 我使用一个论坛脚本。它适用于这个脚本 php5.4。但是,使用 php5.5 会出现如下图所示的问题。 i60.tinypic.com/k0hyfq.jpg
  • 我们先从一个简单的问题开始:你懂编程吗?因为从你的问题的声音来看,你不知道你使用的代码实际上是如何工作的......
  • 很抱歉我不知道,很遗憾,没什么。

标签: php preg-replace preg-replace-callback


【解决方案1】:

我们已将代码更改如下。目前没有问题

代码:

$tempSubject = $this->subject;
                    $tempSubject = preg_replace_callback('/(^RE: RE\[)(\d+)(?=\]:)/i', function($match) {
                        return "RE[".$match[2];
                        }, $tempSubject);           
                    $tempSubject = preg_replace_callback('/^(RE: RE:(?: RE:)+)/i', function($match) {
                        return "RE[".substr_count($match[1], "RE:")."]:";
                        }, $tempSubject);

                    $this->subject = $tempSubject;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多