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);这段代码的意思,要具体点,看不懂。
展开
 我来答
小鱼不爱吃猫咪
2012-02-06
知道答主
回答量:27
采纳率:0%
帮助的人:23.4万
展开全部
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]

希望采纳
巨优多
2012-02-05 · TA获得超过468个赞
知道小有建树答主
回答量:570
采纳率:50%
帮助的人:335万
展开全部
[和/和]是正则表达式内部要用到的符号,所以在匹配[和]的时候要用\[和\/和\]来转义
\[b\]就匹配[b]
(.*)表示匹配任意一个长度大于等于0的字符串,这里匹配,[b]之间的汉字. 点表示任意字符,*表示字符长度大于等于0,用()括起来表示匹配到的字符串可以作为一个变量被其他表达式使用,第一个()里面的内容就是变量1,被其他表达式引用的时候用$1代表,如果正则表达式里面有第二个(),那么第二个()匹配到的内容就可以用$2被其他表达式引用,以此类推
所以'/\[b\](.*)\[\/b\}/i','<b>$1</b>'就是把[b]粗体字[/b]替换成<b>粗体字</b>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifei6671
2012-02-05 · TA获得超过9226个赞
知道大有可为答主
回答量:3899
采纳率:25%
帮助的人:2741万
展开全部
\[b\](.*)\[\/b\}/这一段是正则表达是,匹配的就是[b][/b]类似的标签的.
而preg_replace是一个PHP正则表达式的处理函数.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式