<?php// 功能是处理 [code]中的字符
// 但$string 里有两个[code][/code]以上这正则就不行了, 怎么弄才正确呢?
// 像这样不行[code]i [/code] am [code] jack .[/code]$string = 'Oh, i [code]got[/code] it.';
$patten = '/(.*)?(\[code\](.*)\[\/code\])(.*)?/i';
$replacement = '$1'.filter('$3').'$4';function filter($str){
return $str; //simple
}echo preg_replace($patten,$replacement,$string); //test
?>
[/code]
<?php// 功能是处理 [cod][/cod]中的字符
// 但$string 里有两个[cod][/cod]以上这正则就不行了, 怎么弄才正确呢?
// 像这样不行[cod]i [/cod] am [cod] jack .[/cod]$string = 'Oh, i [cod]got[/cod] it.';
$patten = '/(.*)?(\[cod\](.*)\[\/cod\])(.*)?/i';
$replacement = '$1'.filter('$3').'$4';function filter($str){
return $str; //simple
}echo preg_replace($patten,$replacement,$string); //test
?>
<?php// 功能是处理 [cod][/cod]中的字符
// 但$string 里有两个[cod][/cod]以上这正则就不行了, 怎么弄才正确呢?
// 像这样不行[cod]i [/cod] am [cod] jack .[/cod]$string = 'Oh, i [cod]got[/cod] it.';
$patten = '/(.*)?(\[cod\](.*)\[\/cod\])(.*)?/gi';
$replacement = '$1'.filter('$3').'$4';function filter($str){
return $str; //simple
}echo preg_replace($patten,$replacement,$string); //test
?>
$patten = "/\[cod\](.*?)\[\/cod\]/is";
$replacement = "$1";
$patten = "/\[cod\](.*?)\[\/cod\]/i";
$replacement = "$1";//这样也行