尝试在 preg_replace 中调用一个函数
Trying to call a function inside preg_replace
$string = 'Hello [user=1]';
$bbc = array('/\[user=(.*?)\]/is');
$replace = array(user('textlink',));
$s = preg_replace($bbc , $replace, $string);
echo $s
如何使用函数更改 preg_replace
中的
?
您可以使用 preg_replace_callback_array
:
$string = 'Hello [user=1]';
$bbc = array(
'/\[user=(.*?)\]/is' => function ($m) {
return user('textlink',$m[1]);
});
$s = preg_replace_callback_array($bbc, $string);
echo $s;
见PHP demo。
您可以将模式和回调添加到 $bbc
。
如果我没理解错的话,你想在每场比赛中执行 user()
功能?如评论中所述,使用 preg_replace_callback()
函数。
<?php
$string = 'Hello [user=1]';
$s = preg_replace_callback(
'/\[user=(.*?)\]/is',
function($m) {return user('textlink', $m[1]);},
$string
);
echo $s;
$string = 'Hello [user=1]';
$bbc = array('/\[user=(.*?)\]/is');
$replace = array(user('textlink',));
$s = preg_replace($bbc , $replace, $string);
echo $s
如何使用函数更改 preg_replace
中的 ?
您可以使用 preg_replace_callback_array
:
$string = 'Hello [user=1]';
$bbc = array(
'/\[user=(.*?)\]/is' => function ($m) {
return user('textlink',$m[1]);
});
$s = preg_replace_callback_array($bbc, $string);
echo $s;
见PHP demo。
您可以将模式和回调添加到 $bbc
。
如果我没理解错的话,你想在每场比赛中执行 user()
功能?如评论中所述,使用 preg_replace_callback()
函数。
<?php
$string = 'Hello [user=1]';
$s = preg_replace_callback(
'/\[user=(.*?)\]/is',
function($m) {return user('textlink', $m[1]);},
$string
);
echo $s;