Re: [請益] 正規表示的用法
※ 引述《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
推
10/23 14:54, , 1F
10/23 14:54, 1F
討論串 (同標題文章)