Julio Montoya 1255db54c8 Updating vendors %!s(int64=11) %!d(string=hai) anos
..
tests 224a0e666e Updating vendors %!s(int64=11) %!d(string=hai) anos
.travis.yml 483fe9325b Updating urlify vendor %!s(int64=11) %!d(string=hai) anos
INSTALL 483fe9325b Updating urlify vendor %!s(int64=11) %!d(string=hai) anos
README.md 1255db54c8 Updating vendors %!s(int64=11) %!d(string=hai) anos
URLify.php 1255db54c8 Updating vendors %!s(int64=11) %!d(string=hai) anos
composer.json 483fe9325b Updating urlify vendor %!s(int64=11) %!d(string=hai) anos
phpunit.xml 483fe9325b Updating urlify vendor %!s(int64=11) %!d(string=hai) anos

README.md

URLify for PHP

A PHP port of URLify.js from the Django project. Handles symbols from Latin languages, Greek, Turkish, Russian, Ukrainian, Czech, Polish, and Latvian. Symbols it cannot transliterate it will simply omit.

Usage:

To generate slugs for URLs:

<?php

echo URLify::filter (' J\'étudie le français ');
// "jetudie-le-francais"

echo URLify::filter ('Lo siento, no hablo español.');
// "lo-siento-no-hablo-espanol"

?>

To simply transliterate characters:

<?php

echo URLify::downcode ('J\'étudie le français');
// "J'etudie le francais"

echo URLify::downcode ('Lo siento, no hablo español.');
// "Lo siento, no hablo espanol."

/* Or use transliterate() alias: */

echo URLify::transliterate ('Lo siento, no hablo español.');
// "Lo siento, no hablo espanol."

?>

To extend the character list:

<?php

URLify::add_chars (array (
	'¿' => '?', '®' => '(r)', '¼' => '1/4',
	'¼' => '1/2', '¾' => '3/4', '¶' => 'P'
));

echo URLify::downcode ('¿ ® ¼ ¼ ¾ ¶');
// "? (r) 1/2 1/2 3/4 P"

?>

To extend the list of words to remove:

<?php

URLify::remove_words (array ('remove', 'these', 'too'));

?>

To priorize a certain language map:

<?php

echo URLify::filter (' Ägypten und Österreich besitzen wie üblich ein Übermaß an ähnlich öligen Attachés ',60,"de");
// "aegypten-und-oesterreich-besitzen-wie-ueblich-ein-uebermass-aehnlich-oeligen-attaches"
   
echo URLify::filter ('Cağaloğlu, çalıştığı, müjde, lazım, mahkûm',60,"tr");
// "cagaloglu-calistigi-mujde-lazim-mahkum"

?>

Please note that the "ü" is transliterated to "ue" in the first case, whereas it results in a simple "u" in the latter.