3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = ' Namnet på bildtävlingen nº1@2020-`24...like&share'; $slug = \Transliterator::createFromRules(" :: Any-Latin; :: NFD; :: [:Mn:] Remove; :: NFKC; :: Latin-ASCII; :: Lower(); ^[^[:Ll:][:Nd:]]+ > ; [^[:Ll:][:Nd:]]+$ > ; [^[:Ll:][:Nd:]]+ > '-'; ")->transliterate($string); $slug = preg_replace(['/[^a-z0-9-]+/', '/^-+|(?<=-)-+|-+$/'], '', $slug); $slugPrev = \Transliterator::createFromRules(" :: Any-Latin; :: NFD; :: [:Nonspacing Mark:] Remove; :: NFC; :: [^-[:^Punctuation:]] Remove; :: Lower(); [:^L:] { [-] > ; [-] } [:^L:] > ; [-[:Separator:]]+ > '-'; ")->transliterate($string); echo "$slugPrev -> $slug";

preferences:
27.09 ms | 404 KiB | 5 Q