preg_replace

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • preg_replace

    hi leute
    ich bins nochmal, hatte gestern ein anliegen wegen einem preg_replace.
    ich muss fuer ein anderes script ein modifizierted preg_replace von dem gestern erhaltenen haben. und war so:

    Ich uebergebe einen Text, der so aussehen koennte:

    PHP Code:
    $cheat "Crossing The River
    Platform: GameBoy Adv.
    Code: 38217

    To cross the river, go....

    Roadpass
    Platform: GameBoy Adv.
    Code: 38216

    Get 200 Meseta and......"

    Und jetzt will ich davon alles entfernen, was zwischen "Platform" und "Code" liegt. das Problem ist, dass "Code: xxxxx" verschiedene Zahlen hat, in jedem Fall aber ist es eine 5-stellige Zahl.

    Wenn ich das preg_replace so verwende:
    PHP Code:
    $cheat preg_replace('/Platform[^\)]+Code:.{6}/'''$cheat); 
    funktioniert es zwar, aber es bricht nach dem ersten vorkommen ab. aber in $cheat sind zum teil bis zu 20 solcher vorkommen. Wie kann ich das machen, dass es nicht schon nach dem ersten vorkommen abbricht?

    danke fuer hilfe

  • #2
    PHP Code:
    $cheat preg_replace('/Platform(.*?)Code: [\\d]{5}/s'''$cheat); 
    (.*?)Code => findet alles bis zum nächsten Code
    [\d]{5} => findet fünfstellige Zahlen (\d steht für Zahlen)
    /../s => das s sorgt dafür dass der punkt ( der von .*?) auch zeilenumbrüche (\n) findet
    gruß oppi

    Comment


    • #3
      super
      klappt wunderbar!
      vielen dank!

      Comment

      Working...
      X