mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 21:19 Benutzername: Passwort: Auto-Login

Thema: PHP-Funktion zum Umwandeln von Text in URL-fähiges Format vom 23.04.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP-Funktion zum Umwandeln von Text in URL-fähiges Format
Autor Nachricht
grafzahl
Threadersteller

Dabei seit: 13.04.2006
Ort: Magdeburg
Alter: 39
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:43
Titel

PHP-Funktion zum Umwandeln von Text in URL-fähiges Format

Antworten mit Zitat Zum Seitenanfang

Hi Leute,

ich finde es in CakePHP für die Suchmaschinen immer nicht ganz so fein alle "Artikel" über ihren Primärschlüssel anzusprechen, daher dachte ich mir wäre es ganz praktisch zusätzlich noch die Überschrift eines Artikels oder dergleichen an die URL anzuhängen, eigentlich so, wie es derzeit alle Blogsysteme fast durchziehen.

Also eine URL in der Form: http://www.domain.de/shop/view/53/die-duestere-strasse-beauugen

Also es müssten natürlich alle Umlaute, Leerzeichen, Fragezeichen usw. ersetzt werden. Ist jemandem von euch dafür schon mal eine fertige Funktion zu solch einer Filterung bzw. Umwandlung begegnet, oder meint ihr da muss man wohl doch selber den Kopf anstrengen?


Zuletzt bearbeitet von grafzahl am Mo 23.04.2007 11:46, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
aUDIOfREAK

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:48
Titel

Antworten mit Zitat Zum Seitenanfang

das zauberwort heißt "mod rewrite".
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
grafzahl
Threadersteller

Dabei seit: 13.04.2006
Ort: Magdeburg
Alter: 39
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:50
Titel

Antworten mit Zitat Zum Seitenanfang

Jo, aber mal richtig lesen...mod_rewrite kann auch nicht meine sql-ausgaben machen.

Es geht ja um ein dynamisches Script, User x gibt nen neuen Artikel ein, aus dem Artikelnamen muss ja dann n String generiert werden...der kann dann natürlich über mod_rewrite in der passenden form abrufbar gemacht werden, aber n bissl PHP is zur Umwandlung vorher auch notwendig...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:52
Titel

Antworten mit Zitat Zum Seitenanfang

schau dir mal mod_rewrite an:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://www.yubb.de/tutorial53.html

€: da war jemand schneller *Schnief*


Zuletzt bearbeitet von sahnemuh am Mo 23.04.2007 11:53, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
aUDIOfREAK

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:53
Titel

Antworten mit Zitat Zum Seitenanfang

grafzahl hat geschrieben:
Jo, aber mal richtig lesen...mod_rewrite kann auch nicht meine sql-ausgaben machen.

Es geht ja um ein dynamisches Script, User x gibt nen neuen Artikel ein, aus dem Artikelnamen muss ja dann n String generiert werden...der kann dann natürlich über mod_rewrite in der passenden form abrufbar gemacht werden, aber n bissl PHP is zur Umwandlung vorher auch notwendig...


hm so ganz spontan habsch nix da. aber guck doch einfach mal in den sourcecode von z.b. wordpress. da müsste solch ein statement ja zu finden sein...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
beeviZ

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 23.04.2007 11:57
Titel

Antworten mit Zitat Zum Seitenanfang

füg der datenbanktabelle n feld hinzu "clean_name" oder so, speichere da ne gesäuberte version des titels, und häng den dran.

Ich bin ein dämlicher Titel mit scheiß sonder- und leerzeichen wird dann bswp zu ich-bin-ein-daemlicher-titel-mit-scheiss-sonder--und-leerzeichen. den speicherste dann zusätzlich zum eigentlichen titel in der DB, und schreibst deine query entsprechend um.

aus
SELECT foo FROM bar WHERE id = (int)$_GET['id'];
wird dann
SELECT foo FROM bar WHERE clean_name = 'mysql_real_escape_string($_GET['title'])';
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Mo 23.04.2007 14:46
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
$url = preg_replace('/[^a-z0-9_]/', '-', $title);

Umlaute musst Du halt vorher noch ersetzen.

Update: Schau dir mal den Wordpress-Code dazu an:
sanitize_title_with_dashes() und remove_accents()


Zuletzt bearbeitet von tacker am Mo 23.04.2007 14:54, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Falsches Format Text statt html
Bild das nur text enthält in Kurven umwandeln. geht das.
Online-Chat Funktion - mit On und Offline Funktion
Schriften gelöscht - Excel/Word Text Text nicht angezeigt
Indesign Text vektorisieren oder Text einbetten
jQuery get Funktion im IE9
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.