Schrift
[thread]7671[/thread]

umlaute und regexp problem (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Matze
 2006-02-02 17:05
#62571 #62571
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein!

So klappt es jetzt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl -w
#
use strict;

my @html = ("ö - ü - ä - ß - Ö - Ü - Ä");

foreach (@html) {
convert_umlaut($_);
}

# convert_umlaut:
#
sub convert_umlaut {
my $temp = shift;

print "Vorher: $temp\n";

$temp =~ s/ö/&ouml;/g;
$temp =~ s/ü/&uuml;/g;
$temp =~ s/ä/&auml;/g;
$temp =~ s/ß/&szlig;/g;
$temp =~ s/Ö/&Ouml;/g;
$temp =~ s/Ü/&Uuml;/g;
$temp =~ s/Ä/&Auml;/g;

print "Nacher: $temp\n";
}

<STDIN>;


Bei dir jetzt also nur noch @html von einer Datei einlesen, und am Ende ausgeben lassen.

Ich hab den Teil mit den RegExp einfach noch mal neu geschrieben.

MfG. Matze\n\n

<!--EDIT|renee|1138916722-->
Mit freundlichen Grüßen: Matze
e-weder
 2006-02-02 17:17
#62572 #62572
User since
2005-11-08
31 Artikel
BenutzerIn
[default_avatar]
uha

jab aber genau da ist das problem!
wenn ich es so mache wie du, allso die werte mit hand eingebe "my @html = ("ö - ü - ä - ß - Ö - Ü - Ä");" geht es ja auch , aber es geht nicht wenn ich eine datei enlesse!!!!
Matze
 2006-02-02 17:23
#62573 #62573
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also ich lese es so in die Datei ein, und es klappt auch dann:
Code (perl): (dl )
1
2
3
4
5
my @html;
open IN, "test.pl" or die;
@html = <IN>;
chomp @html;
close IN;
Mit freundlichen Grüßen: Matze
e-weder
 2006-02-02 17:25
#62574 #62574
User since
2005-11-08
31 Artikel
BenutzerIn
[default_avatar]
siehe oben, ich mache es nicht anders, nur das es sich bei mir um ein html dokument handelt!
GwenDragon
 2006-02-02 17:26
#62575 #62575
User since
2005-01-17
14848 Artikel
Admin1
[Homepage]
user image
s/ä/&auml/
Das geht aber nur, wenn der Inhalt der Quelldatei kein UTF ist!
e-weder
 2006-02-02 17:31
#62576 #62576
User since
2005-11-08
31 Artikel
BenutzerIn
[default_avatar]
aha

und wie geht es wenn es UTF8 ist?
e-weder
 2006-02-02 18:32
#62577 #62577
User since
2005-11-08
31 Artikel
BenutzerIn
[default_avatar]
guti ich habs!!

einfach ein -> use utf8;
ptk
 2006-02-03 00:53
#62578 #62578
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Oder man benutzt gleich ein Modul und erschlägt auch die anderen Millionen Unicode-Zeichen mit:
Code: (dl )
1
2
3
use HTML::Entities;
$test = "äöüÄÖÜß\x{20ac}"; # Umlaute und Euro-Zeichen
print HTML::Entities::encode_entities_numeric($test, "\x{7f}-\x{fffd}"), "\n";

Ich bevorzuge nummerische Entities, weil diese mit XML/XHTML/WML besser funktionieren.
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-02-02 15:09.