Mailinglisten-Archive |
Achim Gosse wrote: > $text = ereg_replace("\n", ", ", $text) > > klappt leider nicht, die newlines bleiben drin. Newlines bestehen - wie bereits von jemandem beantwortet - je nach System nicht nur aus einem \n. Gerade die bunte Welt nimmt gerne noch ein \r hinzu. \n und \r sind Steuerzeichen für den Drucker. \n ist für den Zeilenvorschub verantwortlich, während \r für den Wagenrücklauf sorgt. In manch einem System benötigt man also die Kennung \n\r für einen korrekten "Zeilenumbruch", während andere sich mit \n begnügen. Darauf bis Du reingefallen. Davon abgesehen solltest Du nicht ereg_replace() benutzen, wenn die Aufgabe auch mit den "normalen" str* Funtionen bewältigt werden kann. Die ereg* und preg* Funktionen können mit regulären Ausdrücken arbeiten. Sie sind in der Lage komplexe Suchmuster zu verarbeiten, die intern in Automaten zur Lösung eines Suchproblems übersetzt werden. Solche Automaten sind zwar prinzipiell schnell, weil sie spezialisiert sind, aber ihr Aufbau ist sehr zeitaufwendig. Werden die ereg* und preg* Funktionen ohne RegExps aufgerufen kann man von verlorener Liebesmüh sprechen. Deutlich effektiver sind die brute-force str* Funktionen. Sie denken sich nicht ein komplexes Verfahren aus, sondern scannen mit maximal möglicher Geschwindigkeit Speicherzellen. Ulf
php::bar PHP Wiki - Listenarchive