作者LPH66 (IWH68S0XZ8M89)
看板PHP
标题Re: [请益] 正规表示的用法
时间Tue Oct 23 14:36:08 2007
※ 引述《pinkisme ()》之铭言:
: ※ 引述《pinkisme ()》之铭言:
: : 有参考前面的文章,
: : 因为想要抓的是tag中有p,h1,h2..,div,br这些tag中的内容
: : 自己参考前面的文章写了一个.
: : preg_match_all('/<(div|p|h[\d]*|br)[^>]*>(.*)<\/\1>/i', $content2[0],
: : $target);
: : 不过跑出来的都不是正确的,都会有少,
: : 想请问一下是否有表示错误?
: : 麻烦各位了@@"
: 推 alpe:<(div|p|h\d?|br)[^>]*>(.*)<\/\1>/si
: 不好意思想请问一下,
: (.*)和.*有什麽差异呢?不是一样吗Orz
一样 只是前者在後面可以用\1指这段东西 後者不行
: 另外/si是什麽意思@@?
: 另外请问这个表示式:
: "|<[^>]+>(.*)</[^>]+>|U"
: 这是在别处看见的,不清楚|U这是什麽意思
: 还有他为什麽可以不用加上/......./两条斜线呢?
si和U都是modifier
参考这里:
http://tw.php.net/manual/en/reference.pcre.pattern.modifiers.php
s是让 . 也可以吃换行
i是不分大小写
U是不用贪心比对 (和在*後面加个?的效果相同)
第二个情形是因为它的分隔字元在这里是|......| (因为第一个字是|)
於是U就是modifier
--
**** 说:
不要期望一个精神力差不多已经见底的人阿Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.91.4
1F:推 pinkisme:感谢,这样大概都懂了 囧rz 10/23 14:54