wesselch: Umlaute selektieren

Guten Tag,

ich nutze SelfHTML schon eine lange Zeit, aber habe erst jetzt mal eine Frage zu der ich noch keine Antwort gefunden habe.

Nun habe ich eine Frage zu Perl.

Ich greife mittels Perl::LWP den Inhalt einer Website ab und selektiere ein paar Zeilen mittels RegEx. Soweit alles kein Problem.

Eine einzelne Zeile sieht in etwas so aus:

A1 Bremen Richtung Lübeck >>> zwischen Hamburg-Harburg und Kreuz Hamburg-Süd 4 km stockender Verkehr

Enthalten sind dort auch Sonderzeichen (hier zweimal 'ü').

Nun wollte ich eigentlich mittels

$zeile =~ s/ü/ü/g;

die Sonderzeichen durch Zeichenentitäten austauschen. Mit dem 'ü' (und anderen Sonderzeichen) funzt es aber nicht. Nehmen ich einen beliebigen regulären Buchstaben, wird die Substitution durchgeführt.

Was muß ich ändern, damit die Sonderzeichen ersetzt werden?

Retlos, christian

  1. Enthalten sind dort auch Sonderzeichen (hier zweimal 'ü').

    In welcher Zeichenkodierung?

    Nun wollte ich eigentlich mittels

    $zeile =~ s/ü/ü/g;

    In welcher Zeichenkodierung ist dein ü in die Regex eingefügt worden?

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
       <°)))o><                      ><o(((°>o
  2. Nur eine Idee:
    Lass dir den ausgelesenen String mal anzeigen. Möglicherweise interpretiert er die Zeichen des Üs schon anders (->Zeichensatz), so dass später die Substitution nicht gelingen kann.

  3. Nun wollte ich eigentlich mittels

    $zeile =~ s/ü/&uuml;/g;

    die Sonderzeichen durch Zeichenentitäten austauschen.

    Am Rande gefragt: Warum willst Du das tun? Wenn Du den String als Teil einer HTML-Seite ausliefern willst, verwende doch einfach für diese Seite die Codierung, in der dieser String vorliegt. Es besteht dann keine Notwendigkeit, eine Ersetzung durchzuführen.

    Siechfred

    --
    Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!