$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)
學(xué)習(xí)是最好的投資!
preg_replace_callback
無非就是把替換的操作傳到另一個callback函數(shù)處理而已。
這個callback函數(shù)會被傳入一個匹配結(jié)果的數(shù)組,和preg_match
的第三個參數(shù)得到的數(shù)組結(jié)構(gòu)是一樣的。然后return
替換后的結(jié)果。
preg_replace_callback
會把callback函數(shù)return
的結(jié)果替換掉匹配的那部分,然后再把結(jié)果作為返回值。