Wer entwickelt, um WordPress weiß definitiv, das Wort Schnecke , in der Regel verwendet die Text-Strings, die keine Leerzeichen oder andere "seltsame" Zeichen darauf hinweisen können. In der Praxis eine freundliche URL-String kann, die innerhalb einer URL verwendet werden. Normalerweise ist die Umwandlung eines Strings in die Schnecke automatisch durch WordPress durchgeführt, wie der Titel eines Beitrags, zB "Dies ist ein Beitrag", um "so-und-a-post" umgewandelt wird. Die Transformation ist ähnlich dem der slug camelize oder camelcase Blick hier . Hier ist eine mögliche Implementierung in PHP:
1 2 3 | $s ) { Funktion Wegschnecke ($ s) { strtolower ( str_replace ( " " , "-" , preg_replace ( "/[^az A-Z0-9]/" , "" , $s ) ) ) ) ; return ( strtolower ( str_replace ("", "-", preg_replace ("/ [^ az A-Z0-9] /", "", $ s )))); } |










Durch die Art und Weise Ihre Funktion gibt "questounpost" und nicht "this-one-post" ...
Eine Alternative zu Ihrer preg_replace (), die nicht entfernt die Räume werden konnte
(Verzeihen Sie mir, heute bin ich wählerisch)
Dies, indem genommen snipplr entfernt auch die doppelte Bindestriche.
2
3
4
5
6
7
{
strtolower ( trim ( $str ) ) ; $ Str = strtolower ( trim ($ str));
preg_replace ( '/[^a-z0-9-]/' , '-' , $str ) ; $ Str = preg_replace ('/ [^ a-z0-9-] /', '-', $ str);
preg_replace ( '/-+/' , "-" , $str ) ; $ Str = preg_replace ('/-+/', "-", $ str);
; return $ str;
}
Ich sehe nicht den Ersatz von Akzenten, wie ich sehe keine Sonderzeichen wie "& etc. ... Oder ist dies nur ein esempietto?
Normalerweise verwende ich eine ähnliche Funktion wie die Weitergabe str_replace () 2-Array mit den Zeichen "hässlich" und die Berücksichtigung "gut".
Zum Beispiel ersetzt das Apostroph mit "" (leere Zeichenkette), während zum Beispiel die Mutter mit dem Armaturenbrett ...
@ Napolux: Ich habe den Raum in den Filter, jetzt habe ich korrigiert. Allerdings ist dies nur ein Beispiel von Filter zu umgehen, in dem Sinne, dass die Akzente, zum Beispiel, wie Sie sich erinnern, werden nicht ersetzt, sondern einfach eliminiert.
@ Napolux: sowie Sonderzeichen, natürlich ... (siehe ampersen, Zeichen der Dur / Moll-, Darm-, etc ...)
[...] Quelle: Undolog.com "Sehr kurze Auszug: PHP slug Verwandte Artikel: Sehr kurze Auszug: PHP isset_post () | [...]
Hallo Leute,
Unnötig zu, dass gerade gestern war ich für eine ähnliche Lösung suchen zu sagen.
Vielen Dank für das Timing ..
Tom
Aber wenn Sie wollen eine vollständige und endgültige?
@ IWriteAboutIT:
Nun ... Sie können Filter alle Zeichen außer die, die Sie bei der Rettung interessiert sind. Wir schaffen zwei Arrays mit allen Fällen und fahren Sie dann mit str_replace ();
@ IWriteAboutIT:
Sie können die native Funktion von WordPress:
2
sanitize_title_with_dashes ( $stringa ) ; $ Slug = sanitize_title_with_dashes ($ string);