Innuendo: Einfach nur einen ";" ersetzen :-(

Hallo,

langsam fühle ich mich als ziemliches Nackerbatzl was PHP betrifft.

Ich schnall nicht mal die einfachsten Dinge.

Hier meine Aufgabenstellung.

Ich bekommen einen String der so aussieht:

2345;Innuendo

jetzt möchte ich natürlich dass dies gscheid aussieht und möchte den Strichpunkt ersetzen durch ein "</td><td>".

Das hier wäre mein Vorschlag:

$highscore = str_replace($val, ";", "</td><td>");

echo "<tr>
     <td>   " .  $highscore . "</td></tr>";}

Das Ergebnis im Quelltext sieht dann so aus:

<tr>
     <td>   </td><td></td></tr><tr>
     <td>   </td><td></td></tr><tr>
     <td>   </td><td></td></tr><tr>
     <td>   </td><td></td></tr><tr>
     <td>   </td><td></td></tr><tr>
     <td>   </td><td></td>
</tr>

Hat jemand einen Rat für mich? Was mache ich falsch?

Innuendo

  1. Hi,

    vom Ansatz her richtig, Du hast nur die Argumente der Funktion in der falschen Reihenfolge in die Klammer gesetzt. So ist es richtig:

    $highscore = str_replace(";", "</td><td>", $val);

    Die Syntax lautet : str_replace (needle,string,haystack)
    übersetzt:          str_replace (die Nadel, durch den Ersatzstring, im Heuhaufen)

    Gruß
    Sue

    1. Hallo,

      vielen Dank an euch beiden - das ist wieder mal typisch für mich. Wieder nicht genau geschaut und auf der Suche nach ähnlichen Funktionen.

      Manchmal liegt das "Gute" ganz nah!

      Nochmals DANKE an euch beiden!

      Innuendo

  2. $highscore = str_replace($val, ";", "</td><td>");

    Es heißt nicht
    str_replace($string, $substring, $replace_string);
    sondern (dummerweise)
    str_replace($substring, $replace_string, $string);

    D.h. Du brauchst

    $highscore = str_replace(";", "</td><td>", $val);

    Genau aus dem Grunde hab ich mir auch meine eigenen Funktionen dafür definiert. ;-)