我想從文本中刪除一部分直到給定的字符串,並從另一個字符串中刪除另一部分PHP。
/.+string/i和/anotherstring.+/i沒有工作。
我想從文本中刪除一部分直到給定的字符串,並從另一個字符串中刪除另一部分PHP。
/.+string/i和/anotherstring.+/i沒有工作。
/^.*$string/
和/$string.*$/
。
我試過, $ codehtmlfir = preg_replace(「/^.+ html/i」,「」,$ cahtml,1); 什麼都不做 – user311497 2010-04-08 00:56:00
對不起,我忘了* – user311497 2010-04-08 00:56:25
$ codehtmlfir = preg_replace(「/^.* html/i」,「」,$ cahtml,1); 不起作用 – user311497 2010-04-08 00:59:04
你不必使用太多的正則表達式。
$str = "junk junk keyworD1 what i want1 keYWord2 junk junk keyWORD1 what i want2 KEYWORD2";
$s = preg_split("/keyword1|keyword2/i",$str);
for($i=1;$i<count($s);$i+=2){
print $s[$i]."\n";
}
從以上,$s[1]
將是你keyword1
後想要什麼。如果有多個關鍵字對,你想要的東西是在每個第二個位置。即$s[1],$s[3]
等。
輸出
$ php test.php
what i want1
what i want2
好的,小寫字母和大寫字母怎麼樣?有時它可以是關鍵字或關鍵字 – user311497 2010-04-08 01:10:40
,然後使用'preg_split'和'i'修飾符 – ghostdog74 2010-04-08 01:53:14
「regexish」比這更復雜一點,所以你必須要更精確的你想要
從什麼開始到第一出現的字符串,但從開始停止對新行
/^.*?string/
到最後發生串,停止對新行
/^.*string/
從開始到字符串的最後出現,忽略換行符
/^.*string/s
從開始到字符串的最後出現,忽略換行符和情況
/^.*string/si
等等
只是要清楚,你試圖匹配一個關鍵字前的所有文本,並且所有文本又一次?在每種情況下,你想刪除匹配的文本? – Mathew 2010-04-08 00:49:10
是的,正好這 – user311497 2010-04-08 00:51:47
請發佈您使用的代碼無效。 – 2010-04-08 00:52:15