String in lesbare URL umwandeln

11/08/2009 - 10:28 von Hilmar Bunjes | Report spam
Hallo,
ich habe für eine Webseite einige Seitentitel, die ich in lesbare URLs
umwandeln möchte. Sinn ist ein schöneres Aussehen und
Suchmaschinenfreundlichkeit.

Beispiel:
Aus "Heute ist hier ein schöner Tag!" soll
"heute_ist_hier_ein_schoener_tag" werden.

Entfernung der ungültigen Zeichen ist kein Problem, ebenso ersetzen der
Leerzeichen durch Unterstriche. Problematisch wird es jetzt jedoch bei
den ganzen Sonderzeichen. Auf Deutsch beschrànkt habe ich nur 7 bzw. 8
(mit großem ß), aber wenn ich andere Sprachen berücksichtige, werden es
ungeheuer viele.

Letztendlich möchte ich, dass der String komplett um 7-bit ASCII
umgewandelt wird, aber so gut wie möglich lesbar bleibt (bspw. indem
Akzente und nicht Buchstaben mit Akzenten entfernt werden).

Hat jemand einen Tipp, wie ich das am einfachsten hinbekomme?

Danke,
Hilmar
 

Lesen sie die antworten

#1 AyrA
11/08/2009 - 10:39 | Warnen spam
Hilmar Bunjes wrote in news:4a812bad$0$31336
$:

Hallo,
ich habe für eine Webseite einige Seitentitel, die ich in lesbare URLs
umwandeln möchte. Sinn ist ein schöneres Aussehen und
Suchmaschinenfreundlichkeit.

Beispiel:
Aus "Heute ist hier ein schöner Tag!" soll
"heute_ist_hier_ein_schoener_tag" werden.

Entfernung der ungültigen Zeichen ist kein Problem, ebenso ersetzen der
Leerzeichen durch Unterstriche. Problematisch wird es jetzt jedoch bei
den ganzen Sonderzeichen. Auf Deutsch beschrànkt habe ich nur 7 bzw. 8
(mit großem ß), aber wenn ich andere Sprachen berücksichtige, werden es
ungeheuer viele.

Letztendlich möchte ich, dass der String komplett um 7-bit ASCII
umgewandelt wird, aber so gut wie möglich lesbar bleibt (bspw. indem
Akzente und nicht Buchstaben mit Akzenten entfernt werden).

Hat jemand einen Tipp, wie ich das am einfachsten hinbekomme?

Danke,
Hilmar




etwa so:

string ziel="";
string Bekannt="abcdefABCDEF.123456789..."; //Bekannte Zeichen
foreach(char Zeichen in Umwandeln)
{
if(Bekannt.Contains(Zeichen))
{
ziel+=Zeichen;
}
else
{
ziel+="_";
}
}

Wenn das Zeichen im "Bekannt" String ist, dann wird es hinzugefügt, sonst
wird ein _ hinzugefügt. so hast du nachher in "ziel" den fertigen string.
Das ist C# code. Ich kann auch noch VB Code posten, wenn du möchtest.

AyrA

http://ayra.ch
Everything you need that your IT hates you!
SSL supported:
https://ayra.ch
about 10 pr0xys, a Batch Creator and a Dial up Simulator

Ähnliche fragen