Replace Problem

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

  • Replace Problem

    Hallo,

    ich habe ein Problem wenn ich diverse Namen/auch diverse mit Leerzeichen im Text ersetzen lassen will..

    Mein Code:
    PHP-Code:
    $ersetzen=$info[text];
    while(
    $tags=mysql_fetch_array($querytags)) {
    // SQL Ausführen - Tag Details auslesen
    $query_tag=mysql_query("SELECT * FROM ".TAGS." WHERE id='$tags[id]'",$db); 
    $ftags=mysql_fetch_array($query_tag); 
    $ersetzen=str_replace("".$ftags[name].""platzhalter("[tag=4|$ftags[id]]"), $ersetzen); 
    Funktionsbeschreibung also was ich vor habe:

    Ich lasse z.B. News Artikel auslesen und alle Tags die darin vorkommen sollen ersetzt werden mit einer Funktion (Platzhalter) die tut hier aber nichts zur Sache um zu funktionieren.

    Es werden vorher in ein Array alle Tags aus der DB ausgelesen. Falls ein Tag im News drinnen ist soll er dann ersetzt werden mit der Platzhalter funktion...

    z.b im array("Hinz und Kunz","Dagmar und Walter","Leo Hänsel");

    Ein Tag lautet z.B. Hinz und Kunz ... Wie muss mein Ersetzencode l
    Es soll komplett den String von H bis z prüfen bei Kunz Weil bei manchen Sachen ersetzt er das einfach nicht...

    Hoffe ihr versteht was ich meine

    Gruss

  • #2
    oh doch .. genau die Funktion platzhalter tut hier was zur Sache - muss nämlich Strings zurückgeben

    str_replace ersetzt nämlich eine Teil-Zeichenkette in einem String durch eine andere Teilzeichenkette ....

    im übrigen sieht dein Code .... merkwürdig aus.. dreh mal bitte Error-Reporting hoch bzw schalte es an (sollte ja beim Debugging während der Entwicklung sowieso an sein), dann müsste PHP eigentlich an zig Stellen meckern, weil du die Array-Schlüssel falsch ansprichst ...

    [COLOR=#000000][COLOR=#0000CC]$info[/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000CC]text[/COLOR][COLOR=#006600]]->[/COLOR][/COLOR][COLOR=#0000CC]$info[/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000CC][COLOR=Red]'[/COLOR]text[COLOR=Red]'[/COLOR][/COLOR]] und so weiter

    außerdem
    PHP-Code:
    $ftags=mysql_fetch_array($query_tag);  
    $ersetzen=str_replace("".$ftags[name].""platzhalter("[tag=4|$ftags[id]]"), $ersetzen); 
    führt dazu, dass immer nur das erste gefundene TAG ausgewertet / benutzt wird. Du musst auch die gefundenen $ftags in einer Schleife durchlaufen
    Zuletzt geändert von eagle275; 30.03.2011, 09:52.
    [font=Verdana]
    Wer LESEN kann, ist klar im Vorteil!
    [/font]

    Kommentar

    Lädt...
    X