0

次のような文字列があります。

1. Zentrallager # TF Schrankwandp (u) -EG- 2. ASH 25 # TF silentglider (u) WS 3. Gutinedu # TF ottomatic 4. Deep Space Three # TF Kleissi1978 F & P 5. crafted by trapper12 # TF trapper12 VR 6. -8- # TF Mrs-Shooter (u) -=SC=- 7. 8. Standard Libelle # TF silentglider (u) WS 9. crafted by phiLLLdd # TF phiLLLdd -=SC=- 10. V8 Vote111 (u) 3R 11. Nimbus # TF silentglider (u) WS 12. Speed Astir # TF silentglider (u) WS 13. I Want My Tears Back # TF KlappstuhI (u) ReX 14. RK-Weporinag # TF ImperatorMar (gu) -=SC=- 15. RK-Hohoieugo # TF -sledge- (gu) > TdE < 16. Oununu # TF Xantros 

「1」の間の値が必要です。と「2.」と「2.」と「3.」.......

私の試みは次のようになります:

for($i=1;$i<16;$i++){ // I know there are ever 16 counts
     $j = $i+1;
     $regex = "/$i\. (.*) $j\./";
     preg_match_all($regex, strval($string),$matches);}

私の結果は毎回空です。一致数が 0 です。なぜですか?

変数は間違いなく文字列であり、正規表現は一部のオンライン テスターでは機能しますが、私のスクリプトでは機能しません。

4

1 に答える 1

2

どうですか:

$arr=preg_split ("/[\d|\d\d]\./", $yourstring)

$arr[n] には、文字列の n+1 部分が含まれます

于 2012-09-03T07:44:20.720 に答える