php中preg_replace()函数的问题
刚在书上看到一例子,是这样的:$string='[b]粗体字[/b]';$b_rst=preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1<...
刚在书上看到一例子,是这样的:
$string='[b]粗体字[/b]';
$b_rst=preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1</b>',$string);
echo $b_rst;
谁能给我解释一下preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1</b>',$string);这段代码的意思,要具体点,看不懂。 展开
$string='[b]粗体字[/b]';
$b_rst=preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1</b>',$string);
echo $b_rst;
谁能给我解释一下preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1</b>',$string);这段代码的意思,要具体点,看不懂。 展开
展开全部
preg_replace('/\[b\](.*)\[\/b\}/i','<b>$1</b>',$string);
先来解释下这个函数:
您的问题的例子: preg_replace ( $pattern , $replacement , $subject );
解释:在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。则所有的匹配项都会被替换。
注:/i 表示不区分大小写
第二个参数中的($n):匹配的是第一个参数中的第n个括号中的内容
.* :匹配任意内容
/\[b\](.*)\[\/b\}/i这段代码中,最后的i表示:(忽略大小写);
就是在$string 中 将标签[b]和[\b]分别替换为<b>和</b>,标签内部的内容不变
\[和\]都是正则表达式为了混淆而转义的意思,其实就是[b]
希望采纳
先来解释下这个函数:
您的问题的例子: preg_replace ( $pattern , $replacement , $subject );
解释:在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。则所有的匹配项都会被替换。
注:/i 表示不区分大小写
第二个参数中的($n):匹配的是第一个参数中的第n个括号中的内容
.* :匹配任意内容
/\[b\](.*)\[\/b\}/i这段代码中,最后的i表示:(忽略大小写);
就是在$string 中 将标签[b]和[\b]分别替换为<b>和</b>,标签内部的内容不变
\[和\]都是正则表达式为了混淆而转义的意思,其实就是[b]
希望采纳
展开全部
[和/和]是正则表达式内部要用到的符号,所以在匹配[和]的时候要用\[和\/和\]来转义
\[b\]就匹配[b]
(.*)表示匹配任意一个长度大于等于0的字符串,这里匹配,[b]之间的汉字. 点表示任意字符,*表示字符长度大于等于0,用()括起来表示匹配到的字符串可以作为一个变量被其他表达式使用,第一个()里面的内容就是变量1,被其他表达式引用的时候用$1代表,如果正则表达式里面有第二个(),那么第二个()匹配到的内容就可以用$2被其他表达式引用,以此类推
所以'/\[b\](.*)\[\/b\}/i','<b>$1</b>'就是把[b]粗体字[/b]替换成<b>粗体字</b>
\[b\]就匹配[b]
(.*)表示匹配任意一个长度大于等于0的字符串,这里匹配,[b]之间的汉字. 点表示任意字符,*表示字符长度大于等于0,用()括起来表示匹配到的字符串可以作为一个变量被其他表达式使用,第一个()里面的内容就是变量1,被其他表达式引用的时候用$1代表,如果正则表达式里面有第二个(),那么第二个()匹配到的内容就可以用$2被其他表达式引用,以此类推
所以'/\[b\](.*)\[\/b\}/i','<b>$1</b>'就是把[b]粗体字[/b]替换成<b>粗体字</b>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
\[b\](.*)\[\/b\}/这一段是正则表达是,匹配的就是[b][/b]类似的标签的.
而preg_replace是一个PHP正则表达式的处理函数.
而preg_replace是一个PHP正则表达式的处理函数.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询