Problem mit Zeilenumbruch!

DarkBart

Mitglied
Ich hab da ein Problem! Ich habe einen Java-Script, eine Art Laufschrift.
Code:
<SCRIPT Language="JavaScript"> 
<!-- begin
var max = 0; 
function textlist() 
{ 
max = textlist.arguments.length; 
for (i = 0; i < max; i++) 
this[i] = textlist.arguments[i]; 
} 
tl = new textlist 
( 
" Das ist eine Laufschrift in JavaScript...", 
" Schauen Sie z.B. in den Quellcode dieser Seite,...", 
" dort sehen Sie, an welche Stelle die Befehlszeilen...", 
" dieses JavaScripts in HTML integriert werden." 
); 
var x = 0; pos = 0; 
var l = tl[0].length; 
function textticker() 
{ 
document.form1.textfeld.value = tl[x].substring(0,pos)+"_"; 
if(pos++ == l) 
{ 
pos = 0; 
setTimeout("textticker()",1000); 
x++; 
if (x == max) 
x = 0; 
l = tl[x].length; 
} 
else 
setTimeout("textticker()",50); 
} 
function finish() 
{ 
window.defaultStatus = " "; 
} 
--> 
</SCRIPT>
Dann wollte ich aus eine MySQl DatenBank die Texte laden. Jede Zeile eine neue Laufschrift! Also las ich die Jede Zeile im Array speichern und dann ausgeben.
PHP:
$laufschrift = explode("\n", $result2["laufschrift"]);
$anzahl = count($laufschrift);
$anzahl--;
$num = 0;
while ($anzahl > $num) {
  echo("\"$laufschrift[$num]\",\n");
  $num++;
}
if ($anzahl == $num) {
  $l = eregi_replace("\n"," ",$l);
  echo("\"$laufschrift[$num]\"\n");
}
Jetzt bekomme ich aber immer hint $laufschrift[$num] einen Zeilenumbruch im Quelltext und der Java-Script ist kaputt. Wie bekomm ich den Zeileumbruch weg!

MfG
Henrik Voß
kommt immer noch was
 
Zuletzt bearbeitet:
Ich frage jetzt mal bewusst doof:

Wieso, postest Du deinen Beitrag über JavaScript im PHP Forum ??? *confused*

Zweitens, Du hast ein Problem? welches? Nur aus dem Script heraus kann ich das nicht wisen und glaube anderen könnte es auch so gehen!
 
Bin ausversehen auf Übernhmen statt auf Vorschau da kommt noch was! Bitte nicht schließßen oder ähnliches es kommt noch
 
Ich versteh 1. deine Frage nicht ganz und 2.
Du schreibst ja selbst hinter $laufschrift[$num] ein \n!

Dann versteh ich nicht, was der PHP Code soll, den du gepostet hast:
Erst trennst du die Zeichenkette nach jedem \n, dann versuchst du (fälschlicherweise mit preg_replace statt mit str_replace) aus einem Element dieses gesplitteten Strings die \n herauszufiltern, obwohl gar keine mehr drin sein können.
Zu allem Überfluss machst du noch ne Whileschleife.

Mach es so:
PHP:
...
this[i] = textlist.arguments[i]; 
} 
tl = new textlist 
( 
<?php
$laufschrift = explode("\n", $result2["laufschrift"]);
for ($i=0; $i < (count($laufschrift)-1); $i++)
  echo "\"".$laufschrift[$i]."\",\n" ;
}

echo "\"".$laufschrift[$i+1]."\"\n" ;
?>
); 
var x = 0; pos = 0; 
var l = tl[0].length; 
...

//Edit: Mir fällt grad auf, dass du das ganze noch wesentlich einfacher machen kannst:
PHP:
$laufschrift = str_replace("\n", ",\n", $result2["laufschrift"]);
echo $laufschrift;

Oder noch einfacher:
PHP:
echo str_replace("\n", ",\n", $result2["laufschrift"]);
 
Zuletzt bearbeitet von einem Moderator:
Ja, schön, funktioniert mein Script nicht?

Man kann ja noch eine Abfrage reinmachen, falls trozdem noch ein Komma am Ende ist.
PHP:
$llen = strlen($result2["laufschrift"]);
if (substr($result2["laufschrift"], $llen-3, $llen-1) == "\n")
    $result2["laufschrift"] = substr($result2["laufschrift"], 0, $llen-3);
echo str_replace("\n", ",\n", $result2["laufschrift"]);
 
Zuletzt bearbeitet von einem Moderator:
Findet keiner eine Lösung für das Java-Script?

Ich steh gerade vor dem gleichen Problem. Sobald nämlich der Quelltext über mehrere Zeilen geht ist das Javascript kaputt
 
pass dein javascript an ;-)

scherz, versuchs mal mit implode();

alle texte in ein array speicher und mit implode(",\n",$texte); zusammenfügen, fertsch der wildlederlack

ohnre den zeilenumbruch: einfach \n weglassen, das implode gibt dir dann ein sorgfälltig zusammengefügten string zurück, den du fein säuberlich ausgeben kannst.
 
Zuletzt bearbeitet:
Zurück