[請益] preg_match_all的問題
各位好
我從網頁上抓到一堆字串後,要繼續做抓字串的動作
這一堆的字串規則如下
.............(前略好幾行).......
'''..............(中略好幾行)...............
==...........(後略更多行)..............
目的是要抓「中略好幾行」這堆字串
而我的php function code如下
function get_str($Wikiquery , $WikiStr)
{
preg_match_all("/[^''']*" .preg_quote($Wikiquery). "[^==]*/u" , $WikiStr
, $results);
return $results[0][1];
}
雖然可以抓到字串,但是在「前略好幾行」那邊也會有「'''」的符號
所以會抓到前略好幾行中不必要的字串
另外,中略好幾行的開頭一定是「'''」為開頭,但卻不知道是從第幾行開始
請問我該怎麼抓這些字串?
煩麻各位了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.20.145
※ 編輯: renmax 來自: 140.129.20.145 (05/18 16:55)
推
05/18 19:22, , 1F
05/18 19:22, 1F
→
05/18 22:14, , 2F
05/18 22:14, 2F
→
05/18 23:13, , 3F
05/18 23:13, 3F
→
05/18 23:33, , 4F
05/18 23:33, 4F
→
05/18 23:33, , 5F
05/18 23:33, 5F
→
05/18 23:37, , 6F
05/18 23:37, 6F
→
05/19 12:54, , 7F
05/19 12:54, 7F
謝謝您的推薦,但是我現在要處理的字串更加複雜
依據K大提供的正規法,將中間好幾行抓出來之後,要繼續做字串的處理
規則大約如下:
'''......'''............[[...]]......[[..]]......<ref xxxxxx>xxxxxxx</ref>...
......[[File:xxxxxxxxxxx]].......。==
我只要這些字串的「......」的內容(包含逗點和句點等標點符號)
而'''和[[以及]]以及<ref xxxxxx>xxxxxxx</ref>加上[[File:xxxxxxxxxxx]]
還有最後的==這些都是不需要的
我只知道 (?<=^|>)[^><]+?(?=<|$) 可以將<ref xxxxxx></ref>去除掉
但是之間的xxxxxx卻無法處理掉,要處理的字串太過複雜
而我昨天才剛接觸正規法,只好來求救各位前輩
不好意思麻煩了,謝謝
※ 編輯: renmax 來自: 140.129.20.145 (05/19 16:26)
討論串 (同標題文章)
完整討論串 (本文為第 3 之 4 篇):