t3quill4b0y Geschrieben 17. November 2008 Geschrieben 17. November 2008 Hi, ich habe hier einen sql dump in welchem ich die Umlaute durch die HTML Tags ersetzten will. So hab ich das bisher gelöst: $line =~ s/ü/ü\;/og; $line =~ s/Ü/Ü\;/og; $line =~ s/ä/ä\;/og; $line =~ s/Ä/Ä\;/og; $line =~ s/ö/ö\;/og; $line =~ s/Ö/Ö\;/og; $line =~ s/ß/ß\;/og; Ich hätte das aber gerne in einer Zeile mit "and" verknüpft, was dann so aussehen sollte: ($line =~ s/ü/ü\;/og) and ($line =~ s/Ü/Ü\;/og) and ($line =~ /ä/ä\;/og) and ($line =~ s/Ä/Ä\;/og) and ($line =~ s/ö/ö\;/og) and ($line =~ s/Ö/Ö\;/og) and ($line =~ s/ß/ß\;/og); Beim zweiten Beispiel wird aber nur die erste klammer (ü's ersetzen) ausgeführt, woran liegt den das? Gruß und Danke Zitieren
DevilDawn Geschrieben 17. November 2008 Geschrieben 17. November 2008 Beim zweiten Beispiel wird aber nur die erste klammer (ü's ersetzen) ausgeführt, woran liegt den das? Wie in den meisten Sprachen wird ein a AND b AND c nur ausgeführt wenn der Ausdruck a wahr ist. Ist er ist nicht, so ist der ganze Ausdruck eh falsch und der Vorgang wird abgebrochen. Was du hier willst ist kein logisches AND sondern du willst a und b und c Ausführen. Was du hier eigentlich willst ist eher ein use HTML::Entities use HTML::Entities; my $line = encode_entities($line); ~> perl -Mutf8 -MHTML::Entities -e '$line = "äöüÄÖÜ"; $line = encode_entities($line); printf("%s\n",$line);' äöüÄÖÜ Zitieren
t3quill4b0y Geschrieben 17. November 2008 Autor Geschrieben 17. November 2008 Hi, danke für den schnellen Hinweis, ich werde mir merken das es dieses Modul gibt Sollte ich nochmal das Problem haben, werd ich es damit lösen! Gruß Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.