函數(shù)名稱:mb_ereg_replace_callback()
適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
函數(shù)描述:mb_ereg_replace_callback() 函數(shù)是一個(gè)多字節(jié)正則表達(dá)式的替換函數(shù),用于在字符串中搜索與正則表達(dá)式匹配的內(nèi)容,并使用回調(diào)函數(shù)進(jìn)行替換。
語法:mb_ereg_replace_callback(string $pattern, callable $callback, string $subject [, string $option = "msri"]) : string|false
參數(shù):
- $pattern:要搜索的正則表達(dá)式模式。
- $callback:回調(diào)函數(shù),用于替換匹配到的內(nèi)容。
- $subject:要搜索和替換的字符串。
- $option(可選):可選參數(shù),用于設(shè)置正則表達(dá)式選項(xiàng)。默認(rèn)為 "msri",分別對(duì)應(yīng)以下選項(xiàng):
- m:多行模式,使 ^ 和 $ 匹配每行的開始和結(jié)束位置。
- s:?jiǎn)涡心J剑?. 匹配任何字符(包括換行符)。
- r:替換后的字符串作為結(jié)果返回,而不是替換后的字符串。
- i:不區(qū)分大小寫匹配。
返回值:返回替換后的字符串,如果發(fā)生錯(cuò)誤則返回 false。
示例:
// 替換字符串中的數(shù)字為其平方值
function square($matches) {
return $matches[0] * $matches[0];
}
$string = "1 2 3 4 5";
$pattern = "/\d+/u";
$result = mb_ereg_replace_callback($pattern, "square", $string);
echo $result;
// 輸出:1 4 9 16 25
在上述示例中,我們定義了一個(gè)名為 square
的回調(diào)函數(shù),用于計(jì)算匹配到的數(shù)字的平方值。然后,我們使用 mb_ereg_replace_callback()
函數(shù)來搜索字符串 $string
中的數(shù)字,并將其替換為平方值。最后,我們將替換后的字符串輸出到屏幕上,得到了預(yù)期的結(jié)果:1 4 9 16 25
。