| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

01-11-2010, 00:51
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Alex87
PHP-Code:
<?php
echo nl2br("foo ist nicht\n bar");
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
HTML-Code:
foo ist nicht<br />
bar
Ich weiß, es ist spät, aber da stehts doch?^^
|
Du solltest dich schon bemühen, die Antworten zu verstehen.
Ich schrieb bereits, dass \n nur ein Hilfskonstrukt ist, um den Zeilenumbruch im Kontextes "PHP" innerhalb eines Strings zu notieren.
Wenn der Browser dir aber einen Zeilenumbruch schickt, den der Nutzer in einem Formular eingegeben hat - dann schickt er dir selbstverständlich nicht die beiden Zeichen \ und n, wieso sollte er?
Er schickt dir stattdessen den Bytewert des (bzw. der beiden) Zeichen, für die die Bedeutung Zeilenumbruch bzw. Wagenrücklauf definiert ist.
http://de.wikipedia.org/wiki/Zeilenumbruch#ASCII
Zitat:
|
Wieso geht das jetzt nicht in meinem Test-Script.
|
Weil du noch irgendwas anderes falsch machst.
Wie ich zu Anfang schon sagte - lerne, sinnvolles Debugging zu betreiben!
Um erkennen zu können, was falsch läuft, musst du schon wissen, was dein Script wann macht. Und das scheint ja derzeit nicht so wirklich der Fall zu sein.
Zitat:
Ich hasse PHP
|
PHP kann nichts dafür, dass dir die Grundlagenkenntnisse fehlen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

01-11-2010, 01:12
|
|
Alex87
Registrierter Benutzer
|
|
Registriert seit: Mar 2010
Beiträge: 24
|
|
Zitat:
Zitat von wahsaga
Du solltest dich schon bemühen, die Antworten zu verstehen.
|
Das tu ich.
Zitat:
Zitat von wahsaga
Weil du noch irgendwas anderes falsch machst.
Wie ich zu Anfang schon sagte - lerne, sinnvolles Debugging zu betreiben!
Um erkennen zu können, was falsch läuft, musst du schon wissen, was dein Script wann macht. Und das scheint ja derzeit nicht so wirklich der Fall zu sein.
PHP kann nichts dafür, dass dir die Grundlagenkenntnisse fehlen.
|
PHP macht es einem nicht gerade einfach. Das nl2br funktioniert - jedoch nur wenn man den String in doppelten Anführungszeichen ausgibt. Da kann ich soviel debuggen wie ich will! Woher soll ich sowas wissen? Im Manual steht nichts davon...
Du bist also der Meinung, dass ich nl2br erfolgreich anwenden kann, auch wenn ich vorher stripslashes auf den String anwende? Ich werds morgen mal testen und mich melden. Gute Nacht!
|

01-11-2010, 01:21
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von Alex87
PHP macht es einem nicht gerade einfach. Das nl2br funktioniert - jedoch nur wenn man den String in doppelten Anführungszeichen ausgibt. Da kann ich soviel debuggen wie ich will! Woher soll ich sowas wissen? Im Manual steht nichts davon...
|
Doch:
PHP: Strings - Manual
|

01-11-2010, 01:26
|
|
Alex87
Registrierter Benutzer
|
|
Registriert seit: Mar 2010
Beiträge: 24
|
|
Zitat:
Zitat von h3ll
|
Gut, aber nicht direkt bei nl2br :P Ich frag mich sowieso, warum es hier eine unterschiedliche Behandlung gibt...
|

01-11-2010, 01:30
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von Alex87
Gut, aber nicht direkt bei nlbr :P
|
Natürlich nicht, weil dies Grundlagen sind. Man kann nicht in jeder Doku zu einer Funktion alle möglichen Grundlagen reinschreiben, sonst würde aus einer 2-Seiten-Doku schnell eine 200-Seiten-Doku.
Zitat:
Zitat von Alex87
Ich frag mich sowieso, warum es hier eine unterschiedliche Behandlung gibt...
|
Um das Leben für den Programmierer einfacher zu machen und er sich selber entscheiden kann, welche Schreibweise er braucht/bevorzugt.
|

01-11-2010, 08:27
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
Zitat von Alex87
Gut, aber nicht direkt bei nl2br :P Ich frag mich sowieso, warum es hier eine unterschiedliche Behandlung gibt...
|
Doch auch da steht dass Zeilenumbrüche konvertiert werden!
Nur hast du noch nicht begriffen, dass "\n" ein Zeilenumbruch ist, aber '\n' keiner!
|

01-11-2010, 09:34
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
weil du einfache Quotes mit double Quotes verwechselst ?
ist doch eine der ersten Sachen, die man bei PHP lernt, dass PHP selbsttätig in Double-Quoted Strings Zeichen ersetzt (eben zum Beispiel Variablen einfügt - oder Zeilenumbrüche / Tabstops usw) .. in einfachen Quotes (Hochkomma) dagegen nicht ...
__________________
Wer LESEN kann, ist klar im Vorteil!
Geändert von eagle275 (01-11-2010 um 09:37 Uhr)
|

01-11-2010, 11:40
|
|
Alex87
Registrierter Benutzer
|
|
Registriert seit: Mar 2010
Beiträge: 24
|
|
Schönen Guten Morgen!
Zitat:
Zitat von eagle275
weil du einfache Quotes mit double Quotes verwechselst ?
ist doch eine der ersten Sachen, die man bei PHP lernt, dass PHP selbsttätig in Double-Quoted Strings Zeichen ersetzt (eben zum Beispiel Variablen einfügt - oder Zeilenumbrüche / Tabstops usw) .. in einfachen Quotes (Hochkomma) dagegen nicht ...
|
Hm, hör ich das erste Mal muss ich gestehen.
Ich hab PHP mit diesem Buch hier gelernt:
Entweder ist das Buch schlecht oder ich hab das damals in meinem jungen Alter überlesen ;-)
Gibts das Manual auch als Buch zu kaufen? Oder gibt es andere empfehlenswerte Literatur?
Zitat:
Zitat von combie
Doch auch da steht dass Zeilenumbrüche konvertiert werden!
Nur hast du noch nicht begriffen, dass "\n" ein Zeilenumbruch ist, aber '\n' keiner!
|
Gut, das habe ich nun verstanden. Nur ist mir immer noch nicht klar, ob stripslashes() nun das "\n" entfernt und somit die Umkonvertierung unmöglich macht oder nicht.
Meine Frage also: Kann ich stripslashes() verwenden wenn ich nacher noch nl2br() darüber laufen lasse oder nicht.
|

01-11-2010, 11:51
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von Alex87
Hm, hör ich das erste Mal muss ich gestehen.
Ich hab PHP mit diesem Buch hier gelernt:
Entweder ist das Buch schlecht oder ich hab das damals in meinem jungen Alter überlesen ;-)
|
Wenn es wirklich nicht in dem Buch stand, ist es einfach nur furchtbar schlecht.
Zitat:
Zitat von Alex87
Meine Frage also: Kann ich [/COLOR][/COLOR][/COLOR]stripslashes() verwenden wenn ich nacher noch nl2br() darüber laufen lasse oder nicht.
|
Wieso probierst du's nicht einfach aus?
|

01-11-2010, 11:54
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
ob stripslashes() nun das "\n" entfernt
|
Natürlich nicht!
Ich denke, du hast es verstanden?
 Woher der plötzliche Gesinnungswandel?
Vergiss stripslashes()!
Du brauchst es zum Killen deiner Magic Qoutes. Aber dafür hast du ja schon eine Funktion geklaut...
Sonst brauchst du es nie.
Geändert von combie (01-11-2010 um 11:56 Uhr)
|

01-11-2010, 12:20
|
|
Alex87
Registrierter Benutzer
|
|
Registriert seit: Mar 2010
Beiträge: 24
|
|
Zitat:
Zitat von h3ll
Wieso probierst du's nicht einfach aus?
|
Hab mir mal die Mühe gemacht
PHP-Code:
<?php
if (!isset($_POST['text'])) {
?>
<form name="nl2br" action="nl2br.php" method="post">
Bla: <textarea name="text"></textarea>
<input type="submit" value="Anmelden">
</form>
<?php
}
else {
echo nl2br(stripslashes($_POST['text']));
}
?>
FUnktioniert überraschenderweise :-)
Auch wenn es eine schwere Geburt war, großes Dank an alle! Werd euch die nächsten Wochen sicherlich noch des öfteren belästigen
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|