php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.12.2011, 13:27  
Neuer Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tb_spam befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Problem: Zeilenumbrüche lassen sich nicht entfernen

Hallo liebes Forum,

ich erhalte über einen Parameter einen XML-Code.
Diesem XML-Code möchte ich gerne alle Zeilenumbrüche entfernen, da es sonst nicht korrekt an den PHP-Mailer übergeben wird.

Ich habe nun schon sämtliche Variationen getestet, jedoch habe ich immernoch Zeilenumbrüche im Code.


Daten aus dem Parameter sehen z.B. so aus:
Code:
<zeile1>
	<zeile2>
		<zeile3 id="10">
		</zeile3>
	</zeile2>
</zeile1>

In der E-Mail soll es so ankommen:
Code:
<zeile1> <zeile2> <zeile3 id="10"> </zeile3> </zeile2> </zeile1>

Ich habe folgende Variationen schon getestet:
PHP-Code:
$data str_replace("\r\n"""$data); 
PHP-Code:
$data str_replace(chr(13), ""$data); 
PHP-Code:
$data nl2br($data); //Breaks werden im Code gesetzt, jedoch weiterhin mit Zeilenumbrüchen
$data str_replace("<br />"""$data); 

Es kommt jedoch nie als Einzeiler an.

Habt ihr eine Fehlerursache oder noch einen anderen Code?


Vielen Dank & Gruß,
tb_spam
tb_spam ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.12.2011, 13:31  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

http://de.wikipedia.org/wiki/Zeilenu...Zeilenumbruchs

Lies dir das mal durch. Nicht jedes Betriebssystem arbeitet mit \r\n.

Zitat:
da es sonst nicht korrekt an den PHP-Mailer übergeben wird.
Was heißt übergeben? Woran machst du eine Fehlübergabe fest? Ich dneke hier sollte eher mal angesetzt werden...
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 19.12.2011, 13:48  
Neuer Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tb_spam befindet sich auf einem aufstrebenden Ast
Standard

Hallo Dark Guardian,

der Webserver auf dem der Formmailer liegt, läuft unter Unix.

PHP-Code:
$data str_replace("\n"""$data); 
Bei diesem Code wird allerdings nichtmal eine E-Mail erzeugt, was aber bei \r\n funktioniert


Zitat:
Was heißt übergeben? Woran machst du eine Fehlübergabe fest? Ich dneke hier sollte eher mal angesetzt werden...
Ich überprüfe den Text in der E-Mail.
Dort wird mir der Code nicht in einer Zeile angezeigt.


Gruß,
tb_spam
tb_spam ist offline   Mit Zitat antworten
Alt 19.12.2011, 14:10  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

PHP-Code:
$modifiedData implodearray_map('trim',preg_split('/(\n|\r\r)/i'$data)) ); 
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 19.12.2011, 15:00  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Lies es doch mit DOMDocument aus und mit saveXML() wieder aus. Solang formatOutput = false ist, gibts auch keine Zeilenumbrüche.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 19.12.2011, 15:30  
Neuer Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tb_spam befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Arne Drews Beitrag anzeigen
PHP-Code:
$modifiedData implodearray_map('trim',preg_split('/(\n|\r\r)/i'$data)) ); 
Mit dem PHP-Code wird keine E-Mail erzeugt.


@Chriz: Ich werde mir mal die DOMDocument-Funktionen anschauen.


Gruß,
tb_spam
tb_spam ist offline   Mit Zitat antworten
Alt 19.12.2011, 15:50  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Threadtitel
Problem: Zeilenumbrüche lassen sich nicht entfernen
...deine Eingangs erwähnte Problematik ist damit behoben. Ich hatte zu keiner Zeit, die Ambition, eine E-Mail zu erzeugen, denn danach hast Du nicht gefragt!


EDIT
Ach Du willst damit sagen, daß dann die Mail nicht mehr versendet wird?
Dann wirst Du einen anderen Fehler haben, denn die Zeile macht nichts anderes, als den String ohne Umbrüche wiederzugeben.
Müsstest mal posten, wie Du das eigebaut hast und wie Du versuchst, das in die Mail zu setzen.
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 19.12.2011, 16:04  
Neuer Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tb_spam befindet sich auf einem aufstrebenden Ast
Standard

Den Mailer habe ich wie folgt aufgebaut:

PHP-Code:
<?php
    $recipient 
"...";
    
$email "...";
    
$header.="Content-type: text/html; charset=utf-8" "\r\n";
    
$header.="Content-Transfer-Encoding: quoted-printable" "\r\n";
    
$subject="Betreff";
    
$data $_POST["data"];
    
$modifiedData implodearray_map('trim',preg_split('/(\n|\r\r)/i'$data)) );  
    
$mail_body.="Data = " stripslashes($modifiedData) . "\n"// trage ich hier stripslashes($data) ein, funktioniert es
    
mail($recipient$subject$mail_body$header);
?>
tb_spam ist offline   Mit Zitat antworten
Alt 19.12.2011, 16:15  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Mal htmlspecialchars ausprobiert?

Denn immer wenn du \n entfernst, sagst du geht keine Mail raus. also wird da etwas anderes nicht stimmen.

Außerdem: bei der Verwendung der mail() Funktion überrascht es mich nicht das du Probleme hast. Verwende eine Mailer Klasse wie z.B. swiftMailer oder PHPMailer.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 19.12.2011, 16:20  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Dein Script funktioniert bei mir einwandfrei, auch ohne stripslashes!
Wie sieht $data im Original aus?
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP, UTF-8 und Zeilenumbrüche (CR LF) SeppDepp PHP-Fortgeschrittene 17 30.07.2011 18:37
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Alles html aus einem String entfernen? BartTheDevil89 PHP Tipps 2008 3 08.10.2007 15:12
Zeilenumbrüche entfernen cycap PHP Tipps 2007 10 03.07.2007 22:01
Regex löscht alle Zeilenumbrüche. Anduril PHP Tipps 2006 3 16.10.2006 22:36
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Zeilenumbrüche in Textinhalt einfügen PHP-Fortgeschrittene 7 13.09.2005 14:12
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Zeilenumbrüche aus einem formatierten Text entfernen woods PHP Tipps 2004 9 23.09.2004 12:50
[Erledigt] fehlende Zeilenumbrüche in Text E-mail (php / mysql) Datenbanken 6 30.08.2004 13:11
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zeilenumbrüche entfernen aus xml, zeilenumbrüche aus xml entfernen, regex alles zeilenumbrüche entfernen, xml zeilenumbrüche entfernen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum