nasıl ben php için regexish içinde başından $ dize `demek` ve `$ dize sonuna kadar` olabilir

3 Cevap php

Ben verilen dize kadar bir metnin bir kısmını çıkarın ve php başka bir dizeden başlayarak başka bir bölümünü kaldırmak istiyorum.

/. + String / i ve / anotherstring. + / I işe yaramadı.

3 Cevap

/^.*$string/ ve /$string.*$/.

'Regexish' biraz daha kompleks olduğunu, bu nedenle size istediğiniz konusunda daha hassas olmak zorunda

dize first oluşum başlıyor, ancak gelen yeni satır durağı

/^.*?string/

dize last olayda baştan, yeni satır durdurun

/^.*string/

satırsonu görmezden dizenin son oluşumu baştan

/^.*string/s

satırsonu görmezden dizenin son oluşumu baştan and case

/^.*string/si

vs vs

Eğer çok fazla regex kullanmak zorunda değilsiniz.

$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";
}

yukarıda, $s[1] senden sonra ne istediğinizi olacak keyword1. Birden fazla anahtar kelime çiftleri varsa, istediğiniz şeyler her 2 pozisyonda bulunmaktadır. örneğin, $s[1],$s[3] ve.

çıktı

$ php test.php
what i want1
what i want2