真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決php中preg_replace_callback回調(diào)函數(shù)傳參問題

小編給大家分享一下如何解決php中preg_replace_callback回調(diào)函數(shù)傳參問題,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

站在用戶的角度思考問題,與客戶深入溝通,找到焉耆網(wǎng)站設(shè)計(jì)與焉耆網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋焉耆地區(qū)。

preg_replace_callback

這個(gè)函數(shù)的作用是執(zhí)行一個(gè)正則表達(dá)式搜索并且使用一個(gè)回調(diào)進(jìn)行替換

preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

參數(shù)說明

  • pattern

要搜索的模式,可以是字符串或一個(gè)字符串?dāng)?shù)組。

  • callback

一個(gè)回調(diào)函數(shù),在每次需要替換時(shí)調(diào)用,調(diào)用時(shí)函數(shù)得到的參數(shù)是從 subject 中匹配到的結(jié)果。回調(diào)函數(shù)返回真正參與替換的字符串。這是該回調(diào)函數(shù)的簽名:

  • handler ( array $matches ) : string

經(jīng)常會(huì)需要 callback 函數(shù)而僅用于 preg_replace_callback() 一個(gè)地方的調(diào)用。在這種情況下,你可以使用 匿名函數(shù) 來定義一個(gè)匿名函數(shù)作為 preg_replace_callback() 調(diào)用時(shí)的回調(diào)。 這樣做你可以保留所有調(diào)用信息在同一個(gè)位置并且不會(huì)因?yàn)橐粋€(gè)不在任何其他地方使用的回調(diào)函數(shù)名稱而污染函數(shù)名稱空間。

Example #1 preg_replace_callback() 和 匿名函數(shù)

\s*\w|',
        function ($matches) {
            return strtolower($matches[0]);
        },
        $line
    );
    echo $line;
}
fclose($fp);
?>
  • subject

要搜索替換的目標(biāo)字符串或字符串?dāng)?shù)組。

  • limit

對(duì)于每個(gè)模式用于每個(gè) subject 字符串的最大可替換次數(shù)。 默認(rèn)是 -1(無限制)。

  • count

如果指定,這個(gè)變量將被填充為替換執(zhí)行的次數(shù)。

如何傳參

默認(rèn)情況下,這個(gè)回調(diào)函數(shù)只會(huì)接收$matches這個(gè)匹配參數(shù),如果想要傳遞更多的參數(shù),我們可以采用迂回戰(zhàn)術(shù),正所謂條條大路通羅馬,我們只要能在匿名函數(shù)中訪問到需要傳遞的參數(shù)就行。于是我們有兩個(gè)辦法。

1.使用全局變量

$param1 = "test";
preg_replace_callback($pregRule, function ($match) {
    global $param1;
    return $match[1] . $param1 . $match[3];
}

2.使用面向?qū)ο蠹虞d類

class Scrapy{
   private $param1 = "test";
   public function info(){
      preg_replace_callback($pregRule, function ($match) {
            return $match[1] . $this->param1 . $match[3];
        }
   }
}

通過上面的兩種方法我們就可以在回調(diào)函數(shù)中調(diào)用我們想要傳入的參數(shù)。

看完了這篇文章,相信你對(duì)如何解決php中preg_replace_callback回調(diào)函數(shù)傳參問題有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文名稱:如何解決php中preg_replace_callback回調(diào)函數(shù)傳參問題
當(dāng)前地址:http://weahome.cn/article/pjsogd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部