作者knives ()
看板PHP
標題[請益] preg_replace怎麼搜尋全部的
時間Tue Feb 5 15:50:13 2013
我的規則是這樣寫
$re ='/(src)[\s]?=[\w\'\"]\/(?!http:\/\/|^https:\/\/)(.*)[\w\'\"]/i';
$str = preg_replace($re,'src="'.$base_url.'\\2',$str);
可是只能取代到第一筆找到
要怎麼改才能取代所有符合條件的阿
謝謝回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.136.8.84
1F:→ CaptainH:preg_replace_all 02/05 16:04
2F:→ knives:為什麼我呼叫preg_replace_all會出現undefined阿 02/05 16:24
3F:→ gpmm:要不要提供一下完整的 input?看起來是 reg 規則的問題 02/05 16:51
4F:推 Darkland:咦 甚麼時候有 replace_all ? 不是只有 match_all ? 02/05 23:01
5F:→ CaptainH:對不起 我記錯= =|||| 02/05 23:13
6F:→ tyf99:/pattern/g 02/05 23:57
7F:→ gpmm:不確定是不是只有 g 的問題 02/06 00:31
8F:→ gpmm:我總覺得那個 src= 開頭好像也會卡到 XD 02/06 00:32
9F:推 rockmanalpha:應該不會呀 正常來說PHP的正則沒設開始結束就是所有 02/06 00:44
10F:→ rockmanalpha:待合的都取代 可能本身規則有問題 02/06 00:45
11F:→ rockmanalpha:符 02/06 00:45
12F:→ Darkland:可以先改用 preg_match_all 看看是不是規則本來就有問題 02/06 08:31
13F:→ gpmm:原 po 可以出來回應一下嗎…? 02/06 12:28
14F:→ knives:sorry,我把規則改了就可以了,果然是規則的問題 02/07 07:24
15F:→ gpmm:XDD 02/07 10:56