簡體   English   中英

我如何使用preg_replace_callback?

[英]how i use there preg_replace_callback?

我使用一個論壇腳本。 它與下面的php5.4中的腳本很好地配合使用。 但是,使用php5.5會出現問題,如下圖所示。 錯誤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);

我們將代碼更改如下。 目前沒有問題

碼:

$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;

暫無
暫無

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

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