You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
12 years ago | |
---|---|---|
.. | ||
.gitignore | 12 years ago | |
.travis.yml | 12 years ago | |
INSTALL | 12 years ago | |
README.md | 12 years ago | |
URLify.php | 12 years ago | |
composer.json | 12 years ago | |
phpunit.xml | 12 years ago |
README.md
URLify for PHP
A PHP port of URLify.js from the Django project. Handles symbols from Latin languages, Czech, Greek, Latvian, Lithuanian, Polish, Romanian, Russian, Turkish and Ukrainian. Symbols it cannot transliterate it will simply omit.
- Author: jbroadway
- License: MIT
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.