PHP中preg_match()和preg_replace()的一些问题

(一)//preg_match("!</p>(*)</card>!isU",$output,$outputs);(二)//$out=$outputs[1];(三)//将“... (一)//
preg_match("!</p>(*)</card>!isU",$output,$outputs);
(二)//
$out=$outputs[1];
(三)//将“/wap.php”替换为“index.php”
$out=preg_replace('/\/wap\.php/','index.php',$out);
摸索老长时间才写的和预期结果一样的,自己都不明白什么意思。我想问的是,在(一)中那两个!是什么意思,那个isU,好象还看到过i、si、U,这四个啥意思?(二)中[1]的1什么意思?(三)中要替换的"/wap.php"前后为什么要加“/”?额..问题比较多..
展开
 我来答
马可财经
2012-09-22 · TA获得超过742个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:263万
展开全部
(一)当中的!是正则表达式(简称正则式)的分割界定符号。意味着开始的!和第二个!之间是正则式的【主式】(为了便于你理解,不得不这么做个伪定义),我们大多数时候都喜欢用“/”作为分割界定符号,因为在(一)中,刚好已经有“/”在【主式】中了。第二个!后面的isU等,是正则式的修正符,至于各个修正符的用法和作用,强烈建议你去查看PHP手册。

(二)这个[1]中的1,代表着匹配到结果赋值给$outputs后,$outputs数组的下标为1的值,就是前面【主式】中"(*)"匹配到的内容。

(三)第三个,是正则式中“\”转义符号的用法体现。在正则式中“.”是匹配所有字符的(暂不考虑修正符模式),“\.”却可以匹配“.”了。在这个正则式中,\/wap\.php将会匹配到“/wap.php”,并用“index.php”去替换掉它。
怀镶卉0d
2012-09-22 · 超过13用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:33.9万
展开全部
(一)中的是PHP的正则函数,这方面知识可以去看看正则表达式。
(二)1是数组的下标,可以用print_r()函数打印一下$outputs看看。
(三)这个"/"是用来转义/wap.php中wap.php前的"/"的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式