managergames: PHP in Javascript: Leerzeile

Hallo!
Ich bringe einen Namen einer Person in eine Javascript-Variable:

wname='<? echo $name; ?>';

Leider besteht der Name aus Vor- und Nachname, das heißt ein Leerzeichen ist dazwischen...

Das Javascript macht aus dem Leerzeichen aber im Quelltext eine neue Zeile:
wname='Vorname
Nachname';

Und das löst einen Javascript Fehler aus.
Wie kann ich das verhindern, egal ob mit Javascript oder PHP???
Ich habe schon folgendes versucht:
$name=ereg_replace(" ","&nbsp;",$name);
Das Leerzeichen wurde aber nicht durch &nbsp; ersetzt. <br> statt dem Leerzeichen funktioniert nicht. Weitere Ideen?

Thomas

  1. Hallo Thomas,

    wname='<? echo $name; ?>';
    Leider besteht der Name aus Vor- und Nachname, das heißt ein Leerzeichen ist dazwischen...

    Das Javascript macht aus dem Leerzeichen aber im Quelltext eine neue Zeile:
    wname='Vorname
    Nachname';
    Und das löst einen Javascript Fehler aus.

    natürlich, weil ein String-Literal nicht zeilenübergreifend sein darf.
    Das bedeutet aber, du hast kein Leerzeichen zwischen Vor- und Nachname, sondern einen Zeilenumbruch. Du hast also bis jetzt ein Phantom gejagt, das gar nicht existiert.

    Wie kann ich das verhindern, egal ob mit Javascript oder PHP???

    Brauchst du nicht, wenn es sich *wirklich* um ein Leerzeichen handelt. Das tut keinem weh. Wenn es aber ein Zeilenumbruch ist, solltest du ihn serverseitig bereits ersetzen oder korrekt maskieren.

    Das Leerzeichen wurde aber nicht durch &nbsp; ersetzt. <br> statt dem Leerzeichen funktioniert nicht.

    Zwischen den beiden Namensteilen ist auch nach deiner Beschreibung des Symptoms weder ein Leerzeichen, noch ein "<br>, sondern, wie gesagt, offensichtlich ein Zeilenumbruch.

    So long,
     Martin

    --
    Success should be measured not so much by the position that one has reached in life,
    but by the obstacles one has overcome while trying to succeed.
    1. Was müsste ich den ersetzen, dass die Leerzeile rausfliegt??

      managergames

      1. Hallo,

        Was müsste ich den ersetzen, dass die Leerzeile rausfliegt??

        $string = str_replace("\n", ' ', $string);

        http://de.php.net/str_replace
        http://de.php.net/manual/de/language.types.string.php#language.types.string.syntax.double

        Mathias