Wandeln Sie alle Titel auf url-slug und zurück von url-slug-Titel
Ich will wandeln Sie alle Titel z.B. von einem blog-Eintrag zu einem Benutzer-freundlichen url. Ich verwendet rawurlencode() zu tun, aber es gibt mir eine Menge seltsame Zeichenfolgen wie %s
.
Sollte der Algorithmus betrachten Deutsche Zeichen wie Ö, Ä, usw. Ich möchte eine url aus Titel und in der Lage sein zu Holen den Titel durch die Decodierung der url.
Ich habe versucht, einige der in diesem code: http://pastebin.com/L1SwESBn, dass einige andere Fragen, aber es scheint sich zu einem Weg.
E. g. HÖRZU.de -> hoerzu-de -> HÖRZU.de
Irgendwelche Ideen?
- Sie erstellen wollen, Schnecken, aber aus Erfahrung kann ich Ihnen sagen, das Dekodieren, die Möglichkeiten sind begrenzt.
- Sie können nicht entschlüsseln. es ist one-way
- Sie können nicht entschlüsseln. Wie würden Sie wissen, wenn die richtige Lösung ist HORZU.DE, Hörzu.de, HÖRZU.DE, Hòrzu.de, Hörzü.de oder jede andere von den Millionen von verschiedenen Kombinationen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie erstellen möchten Schnecken, aber aus Erfahrung kann ich Ihnen sagen, das Dekodieren, die Möglichkeiten sind begrenzt. Zum Beispiel "Foo - Bar" wird "foo-bar" so, wie können Sie dann wissen, dass es nicht "foo bar" oder "foo-bar", alle zusammen?
Oder wie wäre es mit chars, die Sie nicht wollen, in Ihre Schnecke und auch keine Vertretung für wie""?
So können Sie äther, verwenden Sie ein 1-zu-1-Konvertierung wie
rawurlencode()
oder Sie erstellen eine Schnecke, hier ist ein Beispiel für eine Funktion, aber wie gesagt, keine zuverlässige Dekodierung möglich - es ist nur in seiner Natur, da Sie wegwerfen Informationen.Die eleganteste Art, wie ich denke, ist mit einem Behat\Transliterator\Transliterator.
Ich muss erweitert diese Klasse durch Ihre Klasse, weil es ein Abstraktes, etwas wie dieses:
Und dann, einfach nur:
Natürlich sollten Sie diese Dinge in Ihr Komponist.
Mehr info hier https://github.com/Behat/Transliterator