\n aus beitrag entfernen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

\n aus beitrag entfernen?

Beitrag von terminatorx120 »

ich würde gerne eine Javascript funktion bei einem Onlick auf einem Bild verwenden, welche von Datenbank Einträgen in PHP "erstellt" wird, dafür müssen aber die neuen Zeilen für Javascript entfernt werden, sonst funktioniert es nicht richtig!

Es sieht wie folgt aus (mit Versuch zur Lösung):

Code: Alles auswählen

<?php
function no_nl($text){

$return = preg_replace('/\\n/', '', $text);

return $return;
}

$output = "<script type="text/javascript">
function openPic(pid, text) {
   document.getElementById('galleryitem').src=''+pid;
   if (text=='') {
   	text = 'Keine Bildbeschreibung vorhanden';
   }
   document.getElementById('galleryitemtext').firstChild.nodeValue = text;
  return true;
}
</script>";


[...]




while ($row = mysql_fetch_assoc($result1)) {
  $Eintrag = utf8_decode(nl2br($row['Eintrag']));
  $groesse = @GetImageSize("bilder/" . $row['Bild']);
  $output .= "<h3>$row[1]</h3>\n
/*<p><img src='bilder/".$row['Bild']."' ".$groesse[3]." alt='".utf8_decode($row['Headline'])."'></p>
<div>$Eintrag</div>" . "<p>eingetragen von <b>".utf8_decode($row['Name'])."</b> am <strong>" . datemaker2($row['Datum']) . "</strong>";*/

$picshow .= "<img onclick=\"openPic('bilder/$row[Bild]', '".utf8_decode($row['Headline'])."');document.getElementById('galleryitemeintrag').innerHTML = '".no_nl($Eintrag)."';\" style=\"border: 1px solid rgb(0, 0, 0); cursor: pointer;\" src=\"http://www.phpbb.de/images/nav/phpbb_logo.gif\" alt=\"".utf8_decode($row['Headline'])."\">";

} // while Ende
$picshow .= "";
$output .= <<<PICSHOW

<div style="margin: 5px;">Zur Vollansicht die Vorschaubilder anklicken.</div>
			<div style="overflow: auto; width: 100%; height: 134px; text-align: center;">
				<nobr style="height:800px">
        
							{$picshow}
									</nobr>
			</div>
			<div style="text-align: center; margin-top: 10px;">
				<img src="BILD" alt="" style="margin: 5px 15px 15px;" id="galleryitem">
				<div style="border: 1px solid rgb(170, 170, 170); padding: 5px; background: rgb(242, 242, 242) none repeat scroll 0%; text-align: center; margin-bottom: 7px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold" id="galleryitemtext">
					!!TEXT!!</div>
          <div style="border: 1px solid rgb(170, 170, 170); padding: 5px; background: rgb(242, 242, 242) none repeat scroll 0%; text-align: center; margin-bottom: 7px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold" id="galleryitemeintrag">
					!!EINTRAG!!</div>
PICSHOW;

?>

Danke für die Hilfe!
Zuletzt geändert von terminatorx120 am 02.12.2007 15:14, insgesamt 1-mal geändert.
MfG
TerminatorX120
http://www.KeepGaming.de
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Du hast dein Thema binnen weniger Minuten/Stunden mit einem Folgebeitrag nach oben geschoben.
Die Mindestwartezeit für Topic Bumping beträgt 24 Stunden.

Bitte passe deinen Beitrag an, lies Dir den phpBB.de-Knigge und den Hinweis zur Fragestellung und Rechtschreibung durch und beachte diese zukünftig.
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

Beitrag von terminatorx120 »

Falscher Knopf!

Ich kann den beitrag nicht löschen???? :o
Der Button wird nicht angerzeigt!
MfG
TerminatorX120
http://www.KeepGaming.de
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ah dann verstehe ich jetzt auch was das sollte...

ich habe das mal für dich erledigt ;)

Könntest du evtl. noch mal genauer beschreiben was du mit der Funktion eigentlich bewirken möchtest? Ich sehe da einen Mix aus JavaScript und PHP (oder besser eine PHP Datei die JavaScript ausgeben soll).

Wenn ich das richtig interpretiere, dann möchtest du Zeilenumbrüche entfernen?
Versuch das mal so:

Code: Alles auswählen

$return = preg_replace("/(\r|\n)/", '', $text); 
Wichtig sind die doppelten Anführungszeichen, nur hierin wird das \n umgewandelt, in den einfachen bleibt es als Text stehen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
PureSpider
Mitglied
Beiträge: 168
Registriert: 30.06.2006 21:11
Kontaktdaten:

Beitrag von PureSpider »

In dem fall is nen regex unnötig und langsam...

Code: Alles auswählen

$return = str_replace("\r",'',$text);
tuts auch ;)
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

Beitrag von terminatorx120 »

Gibt es denn noch eine Methode, ohne die Zeilen umbrüche zu verlieren, so dass man den Text mit Zeilen erhält aber die JS Funktion trotzdem ausgeführt werden kann?
Vielleicht kann man das ja wieder Herstellen?
MfG
TerminatorX120
http://www.KeepGaming.de
Benutzeravatar
PureSpider
Mitglied
Beiträge: 168
Registriert: 30.06.2006 21:11
Kontaktdaten:

Beitrag von PureSpider »

terminatorx120 hat geschrieben:Gibt es denn noch eine Methode, ohne die Zeilen umbrüche zu verlieren, so dass man den Text mit Zeilen erhält aber die JS Funktion trotzdem ausgeführt werden kann?
Vielleicht kann man das ja wieder Herstellen?
Äh bitte?
Du willst die Zeilenumbrüche entfernen aber trotzdem erhalten...
Und Moses teilte das Meer...
Zuletzt geändert von PureSpider am 03.12.2007 16:32, insgesamt 2-mal geändert.
Benutzeravatar
terminatorx120
Mitglied
Beiträge: 214
Registriert: 19.02.2007 22:25
Wohnort: Barmstedt
Kontaktdaten:

Beitrag von terminatorx120 »

Also es geht darum, dass ich eigentlich die Zeilenumbrüche behalten möchte, aber wenn ich einen String mit Zeilenumbrüchen in die JS Funktion eintrag, kann sie nicht ausgeführt werden!
Deshalb suche in nun einen Ausweg! :)


PS: LP 4 Ever!
MfG
TerminatorX120
http://www.KeepGaming.de
Benutzeravatar
PureSpider
Mitglied
Beiträge: 168
Registriert: 30.06.2006 21:11
Kontaktdaten:

Beitrag von PureSpider »

Code: Alles auswählen

$return_js = str_replace("\r",'',$text);
$return_normal = $text;
:o
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hast du schon probiert die Newlines einfach durch <br> oder <br /> zu ersetzen? Wenn du Zeilenumbrüche haben willst, dann reicht es ja wenn die im Browser dargestellt werden, oder?
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“