Möchte man zum Beispiel aus einem Artikelnamen einen schönen Link machen, ohne Leerzeichen, dann braucht man eine PHP Anweisung. Es gibt wie imme rbei PHP mehrere Lösungen. Hier eine davon:
Beispiel:
1 Schritt:
$Artikelname: "Frau Dr. Angela Merkel ist die gefährlichste Frau der Welt"
echo str_replace (" ","-",$Artikelname);
Somit erhalten wir:-> Frau-Dr.-Merkel-ist-die-gefährlichste-Frau-der-Welt
Allerdings sollte man statt str_replace ereg_replace nutzen, da man so die ausgabe der umalute sichert.
2 Schritt:
Unterschiedliche Groß und Kleinschreibung ist für einen Link schrott. Daher wandelt man das gleich auch um. Hier hilft uns die PHP Anweisung: strtolower
Das sieht in unserem Beispiel dann so aus:
echo strtolower (str_replace (" ","-",$Artikelname));
das macht dann: frau-dr.-merkel-ist-die-gefährlichste-frau-der-welt
Auch hier ist es ratsamer mit der mb_strtolower Variante zu arbeiten, wenn man Umlaute im Artikel erwartet.
3. Schritt:
Jetzt fehlt uns nur noch das wir so komische Zeichen rausbekommen wie: (.) (;) (:) (() ()) (*) (#) usw.
in unserem Beispiel ist es der Punkt nach Dr.und zwar mit ereg_replace (siehe Schritt eins) Allerdings kann man alle gewünschten Zeichen die man raushaben will, in eine Variable schreiben und die für das ersetzen nutzen. bsp.
<?php
$aktivitaet='Hallo dies ist ein 1234567890 Tästtext!!!&%$§?';
echo $aktivitaet.'<br>';
$aktivitaet=preg_replace("/[^a-zA-Z0-9_äöüÄÖÜ]/" , "" , $aktivitaet);
echo $aktivitaet;
?>
Und wie wir den Doktor von Gutenberg rausbekommen, könnt ihr euch schon bereits selbst beantworten ;-)
Anmekrung: Es kann sein dass wenn Du sonderzeichen ersetzen willst, dass nicht immer funktioniert. Ich vermute es hat viel mit dem Dateien Format zu tun. Also ob es in UTF-8 oder ASCI gespeichert ist. Wenn Du zum Beispiel in Wordpress Dateien solch lustige Funktionen einbauen willst, empfiehlt sich die Daten zu decoden. Siehe folgendes Beispiel:
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/","/G/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss","g");
$my_strasse2 = preg_replace($umlaute, $replace, utf8_decode($meta_values2));