Thread Zeilenumbrüche in Webseiten entfernen, wie?
(15 answers)
Opened by rk-ger at 2006-08-31 12:19 Quote Zeilenumbrüche sind Whitespaces. ;) Zu Whitespaces gehören alle Zeichen die bei einem Druck keine Tinte verschwenden würde. Dazu zählt "\n", "\r", "\t" " " und weitere Zeichen. "\s" enthält also alle oben genannten Zeichen. Code: (dl
)
$data =~ s/^\s*(.*?)\s*$/$1/mg; Das entfernt deswegen nicht die Newline Zeichen da das Dollar bloß ein Anker wie "\b" ist. Es frisst das "\n" nicht auf, es gehört also nicht zum Match. Wird also nicht gelöscht, und bleibt im String unberührt stehen. Dieser Anker matcht immer vor dem Newline. Ansonsten, vielleicht passt das ja besser auf deiner Lösung? Code: (dl
)
s/\s*\n\s*//g So wie du deine Regex geschrieben hast, willst du anscheind nur die Whitespace Zeichen am Anfang und am Ende einer Zeile entfernen? Dann sollte es damit gehen. Wenn du unter Windows Arbeitest und Windows Dateien bearbeitest ist die Verwendung von "\n" nicht verkehrt da es dann zu einem "\r\n" wird. Zwar wird unter GNU/Linux ein "\n" auch nur ein "\n", würde aber trotzdem keine Probleme machen, auch wenn du Windows Formatierte Text Dateien bearbeites. Da das "\r" dann nämlich vom "\s" aufgefressen werden würde.\n\n <!--EDIT|sid burn|1157053996--> Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|