[ regexp ] brauch hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [ regexp ] brauch hilfe

    hi

    ich hab folgende struktur, in der ich sachen aus einer db ersetzen will

    Code:
    <eintrag id="{ eID }" atr="{ attribute2 }">
       <datum>{ dbDatum }</datum>
       <person id="{ pID }">{ dbPerson }</person>
       { dbEintrag }
    </eintrag>
    also das was in geschweiften klammern steht moechte ich mit inhalten aus der datenbank ersetzten

    ist dies mit einem regulaeren ausdruck moeglich?

    also das ich in einer schleife jedes dbfeld in dem string einzeln ersezte (eID => 129, attribute2 => 'bla, dbDatum => '22.2.2003' etc.. )


    ich hab jetzt folgenden ansatz
    Code:
    			function foo( $foobar )
    			{
    				return "$".$foobar."\n";
    			}
    			$repl = '|(([^{]*){\s(\w*)\s})|mie';
    			$xmlStr = preg_replace( $repl, "foo('\\3')", '<text id={ id } attr={ hey }><eintrag>{ eintrag }</eintrag></text><feld2>{ last }</feld2>' );
    			echo $xmlStr;

    also es wird an alles was in { } steht ein $ rangehangen

    zum einen weiss ich nicht wie ich diese nun mit den echten variablen ersetzte ( denk kleineres prob )

    dann krieg ich von preg_replace nur diese variablen zurueck, nicht aber die ganze struktur, mit den veraenderten variablen an selber position

    und an 'last' haengt immer noch </feld2> (ausdruck falsch?)


    bin fuer jede hilfe ueberaus dankbar

    mfg
    ...mind your brain
    need a free bulletin board:
    JBB - laufendes Board

  • #2
    warum machst du es nicht mit 2 arrays und str_replace() ?
    PHP-Code:
    $suche = array("such1","such2",...);
    $setze = array($setz1$setz2, ...);
    $ergebnis str_replace($suche$setze,$deinText); 
    Kissolino.com

    Kommentar


    • #3
      1.) Weil RegEx dafür ideal sind!
      2.) Außerdem weißt du ja noch nicht, wonach du suchen sollst.

      Sieh mal bei den Tutorials, damit solltest du schnell auf die Lösung kommen...

      Kommentar

      Lädt...
      X