Text finden und ersetzen

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

  • Text finden und ersetzen

    Hallo, Ich habe ein Problem mit dem ersetzen von Texten.

    Ich habe Text der so markiert ist

    ###POI 1###

    dieser soll dann durch eine Textvorlage bzw Daten aus einer Datenbank ersetzt werden.

    PHP-Code:

        
    // POI Links finden und durch Textbaustein ersetzen
        // POI Links sind im Text so dargestellt ###POI 12###
        

        
    while (ereg("(###POI ([0-9]+)###)"$acticon$regs))    
        
    $content .= str_replace($regs[1], DokumentLink($regs[2]),$acticon);
        
        function 
    POILINK($Marke){
        
    // Hier kommt eine Datenbankabfrage 
        
    $poi["1"]    = "<i><< Infotext 1. Dieser Text wird später aus einem Datenbankeintrag ersetzt. >></i>";
        
    $poi["2"]    = "<i><< Infotext 2. Dieser Text wird später aus einem Datenbankeintrag ersetzt. >></i>";
        
    $poi["3"]    = "<i><< Infotext 3. Dieser Text wird später aus einem Datenbankeintrag ersetzt. >></i>";
                
        
    $zurueck .= "".$poi[$Marke]."$Marke";    
        return 
    $zurueck;
        } 
    in der ruhe liegt die kraft

  • #2
    Und dein Problem?

    Generell nimm preg_match_all().
    Hol die Platzhalter vorher schon und nicht erst in der Bedingung der While-Schleife.

    Kommentar


    • #3
      Generell nimm preg_match_all().
      @maffy
      Hier würde ich doch gleich preg_replace_callback() verwenden. Der Callback kriegt den Int übergeben und gibt anhand dessen den entsprechenden Ersetzungstext aus dem Array zurück. Schau dazu mal ins Manual

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Haste vollkommen recht.

        Kommentar

        Lädt...
        X