3v4l.org

run code in 300+ PHP versions simultaneously
<?php $strings = [ 'This, is - - the URL!', 'Holmes & Yoyo', 'L’Œil de démon', 'How to win 1000€?', '€, $ & other currency symbols', 'Und die Katze fraß alle mäuse.', 'Белите рози на София', 'പോണ്ടിച്ചേരി സൂര്യനു കീഴിൽ', ]; $rules = <<<'RULES' # Transliteration :: Any-Latin ; :: Latin-Ascii ; # examples of custom replacements '&' > ' and ' ; [^0-9][01]? { € > ' euro' ; € > ' euros' ; [^0-9][01]? { '$' > ' dollar' ; '$' > ' dollars' ; :: Null ; # slugify [^[:alnum:]&[:ascii:]]+ > '-' ; :: Lower ; # trim [$] { '-' > &Remove() ; '-' } [$] > &Remove() ; RULES; $tsl = Transliterator::createFromRules($rules, Transliterator::FORWARD); $results = array_map(fn($s) => $tsl->transliterate($s), $strings); print_r($results);

preferences:
25.19 ms | 405 KiB | 5 Q