<?php
/**
* @link https://github.com/rogertiongdev/RTphp RTphp GitHub project
* @license https://rogertiongdev.github.io/MIT-License/
*/
namespace RTdev\RTphp;
/**
* Helper to remove funny characters.
*
* @version 0.1
* @author Roger Tiong RTdev
*/
class RTslugify {
/**
* Full char set
*
* @var array
*/
protected static $maps = array();
/**
* User selected char set from $maps array key(s)
*
* @var array
*/
private $charSet = array();
/**
* True: result will be lower case
*
* @var boolean
*/
private $lowercase = false;
/**
* Initialization
*/
public function __construct() {
self::$maps = unserialize(json_decode('"a:27:{s:6:\"arabic\";a:28:{s:2:\"Ø£\";s:1:\"a\";s:2:\"ب\";s:1:\"b\";s:2:\"ت\";s:1:\"t\";s:2:\"Ø«\";s:2:\"th\";s:2:\"ج\";s:1:\"g\";s:2:\"Ø\";s:1:\"h\";s:2:\"Ø®\";s:2:\"kh\";s:2:\"د\";s:1:\"d\";s:2:\"ذ\";s:2:\"th\";s:2:\"ر\";s:1:\"r\";s:2:\"ز\";s:1:\"z\";s:2:\"س\";s:1:\"s\";s:2:\"Ø´\";s:2:\"sh\";s:2:\"ص\";s:1:\"s\";s:2:\"ض\";s:1:\"d\";s:2:\"Ø·\";s:1:\"t\";s:2:\"ظ\";s:2:\"th\";s:2:\"ع\";s:2:\"aa\";s:2:\"غ\";s:2:\"gh\";s:2:\"Ù\";s:1:\"f\";s:2:\"Ù‚\";s:1:\"k\";s:2:\"Ùƒ\";s:1:\"k\";s:2:\"Ù„\";s:1:\"l\";s:2:\"Ù…\";s:1:\"m\";s:2:\"Ù†\";s:1:\"n\";s:2:\"Ù‡\";s:1:\"h\";s:2:\"Ùˆ\";s:1:\"o\";s:2:\"ÙŠ\";s:1:\"y\";}s:8:\"austrian\";a:7:{s:2:\"Ä\";s:2:\"AE\";s:2:\"Ö\";s:2:\"OE\";s:2:\"Ü\";s:2:\"UE\";s:2:\"ß\";s:2:\"sz\";s:2:\"ä\";s:2:\"ae\";s:2:\"ö\";s:2:\"oe\";s:2:\"ü\";s:2:\"ue\";}s:11:\"azerbaijani\";a:14:{s:2:\"ç\";s:1:\"c\";s:2:\"É™\";s:1:\"e\";s:2:\"ÄŸ\";s:1:\"g\";s:2:\"ı\";s:1:\"i\";s:2:\"ö\";s:1:\"o\";s:2:\"ÅŸ\";s:1:\"s\";s:2:\"ü\";s:1:\"u\";s:2:\"Ç\";s:1:\"C\";s:2:\"Æ\";s:1:\"E\";s:2:\"Äž\";s:1:\"G\";s:2:\"İ\";s:1:\"I\";s:2:\"Ö\";s:1:\"O\";s:2:\"Åž\";s:1:\"S\";s:2:\"Ü\";s:1:\"U\";}s:9:\"bulgarian\";a:63:{s:2:\"Ð\";s:1:\"A\";s:2:\"Б\";s:1:\"B\";s:2:\"Ð’\";s:1:\"V\";s:2:\"Г\";s:1:\"G\";s:2:\"Д\";s:1:\"D\";s:2:\"Е\";s:1:\"E\";s:2:\"Ж\";s:1:\"J\";s:2:\"З\";s:1:\"Z\";s:2:\"И\";s:1:\"I\";s:2:\"Й\";s:1:\"Y\";s:2:\"К\";s:1:\"K\";s:2:\"Л\";s:1:\"L\";s:2:\"М\";s:1:\"M\";s:2:\"Ð\";s:1:\"N\";s:2:\"О\";s:1:\"O\";s:2:\"П\";s:1:\"P\";s:2:\"Ð \";s:1:\"R\";s:2:\"С\";s:1:\"S\";s:2:\"Т\";s:1:\"T\";s:2:\"У\";s:1:\"U\";s:2:\"Ф\";s:1:\"F\";s:2:\"Ð¥\";s:1:\"H\";s:2:\"Ц\";s:2:\"Ts\";s:2:\"Ч\";s:2:\"Ch\";s:2:\"Ш\";s:2:\"Sh\";s:2:\"Щ\";s:3:\"Sht\";s:2:\"Ъ\";s:1:\"A\";s:2:\"Ь\";s:1:\"I\";s:2:\"Ю\";s:2:\"Iu\";s:2:\"Я\";s:2:\"Ia\";s:2:\"а\";s:1:\"a\";s:2:\"б\";s:1:\"b\";s:2:\"в\";s:1:\"v\";s:2:\"г\";s:1:\"g\";s:2:\"д\";s:1:\"d\";s:2:\"е\";s:1:\"e\";s:2:\"ж\";s:1:\"j\";s:2:\"з\";s:1:\"z\";s:2:\"и\";s:1:\"i\";s:2:\"й\";s:1:\"y\";s:2:\"к\";s:1:\"k\";s:2:\"л\";s:1:\"l\";s:2:\"м\";s:1:\"m\";s:2:\"н\";s:1:\"n\";s:2:\"о\";s:1:\"o\";s:2:\"п\";s:1:\"p\";s:2:\"Ñ€\";s:1:\"r\";s:2:\"Ñ\";s:1:\"s\";s:2:\"Ñ‚\";s:1:\"t\";s:2:\"у\";s:1:\"u\";s:2:\"Ñ„\";s:1:\"f\";s:2:\"Ñ…\";s:1:\"h\";s:2:\"ц\";s:2:\"ts\";s:2:\"ч\";s:2:\"ch\";s:2:\"ш\";s:2:\"sh\";s:2:\"щ\";s:3:\"sht\";s:2:\"ÑŠ\";s:1:\"a\";s:2:\"ÑŒ\";s:1:\"i\";s:2:\"ÑŽ\";s:2:\"iu\";s:2:\"Ñ\";s:2:\"ia\";s:4:\"иÑ\";s:2:\"ia\";s:4:\"йо\";s:3:\"iо\";s:4:\"ьо\";s:2:\"io\";}s:7:\"burmese\";a:66:{s:3:\"က\";s:1:\"k\";s:3:\"á€\";s:2:\"kh\";s:3:\"ဂ\";s:1:\"g\";s:3:\"ဃ\";s:2:\"ga\";s:3:\"င\";s:2:\"ng\";s:3:\"စ\";s:1:\"s\";s:3:\"ဆ\";s:2:\"sa\";s:3:\"ဇ\";s:1:\"z\";s:6:\"စျ\";s:2:\"za\";s:3:\"ည\";s:2:\"ny\";s:3:\"ဋ\";s:1:\"t\";s:3:\"ဌ\";s:2:\"ta\";s:3:\"á€\";s:1:\"d\";s:3:\"ဎ\";s:2:\"da\";s:3:\"á€\";s:2:\"na\";s:3:\"á€\";s:1:\"t\";s:3:\"ထ\";s:2:\"ta\";s:3:\"ဒ\";s:1:\"d\";s:3:\"ဓ\";s:2:\"da\";s:3:\"န\";s:1:\"n\";s:3:\"ပ\";s:1:\"p\";s:3:\"ဖ\";s:2:\"pa\";s:3:\"ဗ\";s:1:\"b\";s:3:\"ဘ\";s:2:\"ba\";s:3:\"မ\";s:1:\"m\";s:3:\"ယ\";s:1:\"y\";s:3:\"ရ\";s:2:\"ya\";s:3:\"လ\";s:1:\"l\";s:3:\"á€\";s:1:\"w\";s:3:\"သ\";s:2:\"th\";s:3:\"ဟ\";s:1:\"h\";s:3:\"ဠ\";s:2:\"la\";s:3:\"အ\";s:1:\"a\";s:3:\"ဧ\";s:1:\"e\";s:3:\"á\";s:2:\"-e\";s:3:\"ဣ\";s:1:\"i\";s:3:\"ဤ\";s:2:\"-i\";s:3:\"ဉ\";s:1:\"u\";s:3:\"ဦ\";s:2:\"-u\";s:3:\"ဩ\";s:2:\"aw\";s:12:\"သြော\";s:2:\"aw\";s:3:\"ဪ\";s:2:\"aw\";s:3:\"á\";s:4:\"ywae\";s:3:\"áŒ\";s:5:\"hnaik\";s:3:\"á€\";s:1:\"0\";s:3:\"á\";s:1:\"1\";s:3:\"á‚\";s:1:\"2\";s:3:\"áƒ\";s:1:\"3\";s:3:\"á„\";s:1:\"4\";s:3:\"á…\";s:1:\"5\";s:3:\"á†\";s:1:\"6\";s:3:\"á‡\";s:1:\"7\";s:3:\"áˆ\";s:1:\"8\";s:3:\"á‰\";s:1:\"9\";s:6:\"က်\";s:2:\"et\";s:6:\"င်\";s:2:\"in\";s:6:\"စ်\";s:2:\"it\";s:6:\"ည်\";s:1:\"i\";s:6:\"á€á€º\";s:2:\"at\";s:6:\"ဒ်\";s:1:\"d\";s:6:\"န်\";s:2:\"an\";s:6:\"ပ်\";s:2:\"at\";s:15:\"န်ုပ်\";s:3:\"nub\";s:6:\"မ်\";s:2:\"an\";s:6:\"ယ်\";s:1:\"e\";s:6:\"ဉ်\";s:2:\"in\";}s:8:\"croatian\";a:10:{s:2:\"ÄŒ\";s:1:\"C\";s:2:\"Ć\";s:1:\"C\";s:2:\"Ž\";s:1:\"Z\";s:2:\"Å \";s:1:\"S\";s:2:\"Ä\";s:2:\"Dj\";s:2:\"Ä\";s:1:\"c\";s:2:\"ć\";s:1:\"c\";s:2:\"ž\";s:1:\"z\";s:2:\"Å¡\";s:1:\"s\";s:2:\"Ä‘\";s:2:\"dj\";}s:5:\"czech\";a:18:{s:2:\"Ä\";s:1:\"c\";s:2:\"Ä\";s:1:\"d\";s:2:\"Ä›\";s:1:\"e\";s:2:\"ň\";s:1:\"n\";s:2:\"Å™\";s:1:\"r\";s:2:\"Å¡\";s:1:\"s\";s:2:\"Å¥\";s:1:\"t\";s:2:\"ů\";s:1:\"u\";s:2:\"ž\";s:1:\"z\";s:2:\"ÄŒ\";s:1:\"C\";s:2:\"ÄŽ\";s:1:\"D\";s:2:\"Äš\";s:1:\"E\";s:2:\"Ň\";s:1:\"N\";s:2:\"Ř\";s:1:\"R\";s:2:\"Å \";s:1:\"S\";s:2:\"Ť\";s:1:\"T\";s:2:\"Å®\";s:1:\"U\";s:2:\"Ž\";s:1:\"Z\";}s:6:\"danish\";a:8:{s:2:\"Æ\";s:2:\"Ae\";s:2:\"æ\";s:2:\"ae\";s:2:\"Ø\";s:2:\"Oe\";s:2:\"ø\";s:2:\"oe\";s:2:\"Ã…\";s:2:\"Aa\";s:2:\"Ã¥\";s:2:\"aa\";s:2:\"É\";s:1:\"E\";s:2:\"é\";s:1:\"e\";}s:7:\"default\";a:165:{s:2:\"°\";s:1:\"0\";s:2:\"¹\";s:1:\"1\";s:2:\"²\";s:1:\"2\";s:2:\"³\";s:1:\"3\";s:2:\"æ\";s:2:\"ae\";s:2:\"ǽ\";s:2:\"ae\";s:2:\"À\";s:1:\"A\";s:2:\"Ã\";s:1:\"A\";s:2:\"Â\";s:1:\"A\";s:2:\"Ã\";s:1:\"A\";s:2:\"Ã…\";s:2:\"AA\";s:2:\"Ǻ\";s:1:\"A\";s:2:\"Ä‚\";s:1:\"A\";s:2:\"Ç\";s:1:\"A\";s:2:\"Æ\";s:2:\"AE\";s:2:\"Ǽ\";s:2:\"AE\";s:2:\"à \";s:1:\"a\";s:2:\"á\";s:1:\"a\";s:2:\"â\";s:1:\"a\";s:2:\"ã\";s:1:\"a\";s:2:\"Ã¥\";s:2:\"aa\";s:2:\"Ç»\";s:1:\"a\";s:2:\"ă\";s:1:\"a\";s:2:\"ÇŽ\";s:1:\"a\";s:2:\"ª\";s:1:\"a\";s:1:\"@\";s:2:\"at\";s:2:\"Ĉ\";s:1:\"C\";s:2:\"ÄŠ\";s:1:\"C\";s:2:\"Ç\";s:1:\"C\";s:2:\"ç\";s:1:\"c\";s:2:\"ĉ\";s:1:\"c\";s:2:\"Ä‹\";s:1:\"c\";s:2:\"©\";s:1:\"c\";s:2:\"Ã\";s:2:\"Dj\";s:2:\"Ä\";s:1:\"D\";s:2:\"ð\";s:2:\"dj\";s:2:\"Ä‘\";s:1:\"d\";s:2:\"È\";s:1:\"E\";s:2:\"É\";s:1:\"E\";s:2:\"Ê\";s:1:\"E\";s:2:\"Ë\";s:1:\"E\";s:2:\"Ä”\";s:1:\"E\";s:2:\"Ä–\";s:1:\"E\";s:2:\"è\";s:1:\"e\";s:2:\"é\";s:1:\"e\";s:2:\"ê\";s:1:\"e\";s:2:\"ë\";s:1:\"e\";s:2:\"Ä•\";s:1:\"e\";s:2:\"Ä—\";s:1:\"e\";s:2:\"Æ’\";s:1:\"f\";s:2:\"Äœ\";s:1:\"G\";s:2:\"Ä \";s:1:\"G\";s:2:\"Ä\";s:1:\"g\";s:2:\"Ä¡\";s:1:\"g\";s:2:\"Ĥ\";s:1:\"H\";s:2:\"Ħ\";s:1:\"H\";s:2:\"Ä¥\";s:1:\"h\";s:2:\"ħ\";s:1:\"h\";s:2:\"ÃŒ\";s:1:\"I\";s:2:\"Ã\";s:1:\"I\";s:2:\"ÃŽ\";s:1:\"I\";s:2:\"Ã\";s:1:\"I\";s:2:\"Ĩ\";s:1:\"I\";s:2:\"Ĭ\";s:1:\"I\";s:2:\"Ç\";s:1:\"I\";s:2:\"Ä®\";s:1:\"I\";s:2:\"IJ\";s:2:\"IJ\";s:2:\"ì\";s:1:\"i\";s:2:\"Ã\";s:1:\"i\";s:2:\"î\";s:1:\"i\";s:2:\"ï\";s:1:\"i\";s:2:\"Ä©\";s:1:\"i\";s:2:\"Ä\";s:1:\"i\";s:2:\"Ç\";s:1:\"i\";s:2:\"į\";s:1:\"i\";s:2:\"ij\";s:2:\"ij\";s:2:\"Ä´\";s:1:\"J\";s:2:\"ĵ\";s:1:\"j\";s:2:\"Ĺ\";s:1:\"L\";s:2:\"Ľ\";s:1:\"L\";s:2:\"Ä¿\";s:1:\"L\";s:2:\"ĺ\";s:1:\"l\";s:2:\"ľ\";s:1:\"l\";s:2:\"Å€\";s:1:\"l\";s:2:\"Ñ\";s:1:\"N\";s:2:\"ñ\";s:1:\"n\";s:2:\"ʼn\";s:1:\"n\";s:2:\"Ã’\";s:1:\"O\";s:2:\"Ó\";s:1:\"O\";s:2:\"Ô\";s:1:\"O\";s:2:\"Õ\";s:1:\"O\";s:2:\"ÅŒ\";s:1:\"O\";s:2:\"ÅŽ\";s:1:\"O\";s:2:\"Ç‘\";s:1:\"O\";s:2:\"Å\";s:1:\"O\";s:2:\"Æ \";s:1:\"O\";s:2:\"Ø\";s:2:\"OE\";s:2:\"Ǿ\";s:1:\"O\";s:2:\"Å’\";s:2:\"OE\";s:2:\"ò\";s:1:\"o\";s:2:\"ó\";s:1:\"o\";s:2:\"ô\";s:1:\"o\";s:2:\"õ\";s:1:\"o\";s:2:\"Å\";s:1:\"o\";s:2:\"Å\";s:1:\"o\";s:2:\"Ç’\";s:1:\"o\";s:2:\"Å‘\";s:1:\"o\";s:2:\"Æ¡\";s:1:\"o\";s:2:\"ø\";s:2:\"oe\";s:2:\"Ç¿\";s:1:\"o\";s:2:\"º\";s:1:\"o\";s:2:\"Å“\";s:2:\"oe\";s:2:\"Å”\";s:1:\"R\";s:2:\"Å–\";s:1:\"R\";s:2:\"Å•\";s:1:\"r\";s:2:\"Å—\";s:1:\"r\";s:2:\"Åœ\";s:1:\"S\";s:2:\"Ș\";s:1:\"S\";s:2:\"Å\";s:1:\"s\";s:2:\"È™\";s:1:\"s\";s:2:\"Å¿\";s:1:\"s\";s:2:\"Å¢\";s:1:\"T\";s:2:\"Èš\";s:1:\"T\";s:2:\"Ŧ\";s:1:\"T\";s:2:\"Þ\";s:2:\"TH\";s:2:\"Å£\";s:1:\"t\";s:2:\"È›\";s:1:\"t\";s:2:\"ŧ\";s:1:\"t\";s:2:\"þ\";s:2:\"th\";s:2:\"Ù\";s:1:\"U\";s:2:\"Ú\";s:1:\"U\";s:2:\"Û\";s:1:\"U\";s:2:\"Ü\";s:1:\"U\";s:2:\"Ũ\";s:1:\"U\";s:2:\"Ŭ\";s:1:\"U\";s:2:\"Ű\";s:1:\"U\";s:2:\"Ų\";s:1:\"U\";s:2:\"Ư\";s:1:\"U\";s:2:\"Ç“\";s:1:\"U\";s:2:\"Ç•\";s:1:\"U\";s:2:\"Ç—\";s:1:\"U\";s:2:\"Ç™\";s:1:\"U\";s:2:\"Ç›\";s:1:\"U\";s:2:\"ù\";s:1:\"u\";s:2:\"ú\";s:1:\"u\";s:2:\"û\";s:1:\"u\";s:2:\"ü\";s:1:\"u\";s:2:\"Å©\";s:1:\"u\";s:2:\"Å\";s:1:\"u\";s:2:\"ű\";s:1:\"u\";s:2:\"ų\";s:1:\"u\";s:2:\"ư\";s:1:\"u\";s:2:\"Ç”\";s:1:\"u\";s:2:\"Ç–\";s:1:\"u\";s:2:\"ǘ\";s:1:\"u\";s:2:\"Çš\";s:1:\"u\";s:2:\"Çœ\";s:1:\"u\";s:2:\"Å´\";s:1:\"W\";s:2:\"ŵ\";s:1:\"w\";s:2:\"Ã\";s:1:\"Y\";s:2:\"Ÿ\";s:1:\"Y\";s:2:\"Ŷ\";s:1:\"Y\";s:2:\"ý\";s:1:\"y\";s:2:\"ÿ\";s:1:\"y\";s:2:\"Å·\";s:1:\"y\";}s:9:\"esperanto\";a:12:{s:2:\"ĉ\";s:2:\"cx\";s:2:\"Ä\";s:2:\"gx\";s:2:\"Ä¥\";s:2:\"hx\";s:2:\"ĵ\";s:2:\"jx\";s:2:\"Å\";s:2:\"sx\";s:2:\"Å\";s:2:\"ux\";s:2:\"Ĉ\";s:2:\"CX\";s:2:\"Äœ\";s:2:\"GX\";s:2:\"Ĥ\";s:2:\"HX\";s:2:\"Ä´\";s:2:\"JX\";s:2:\"Åœ\";s:2:\"SX\";s:2:\"Ŭ\";s:2:\"UX\";}s:7:\"finnish\";a:2:{s:2:\"ä\";s:1:\"a\";s:2:\"ö\";s:1:\"o\";}s:5:\"farsi\";a:37:{s:2:\"Ø¢\";s:2:\"aa\";s:2:\"ا\";s:1:\"a\";s:2:\"ب\";s:1:\"b\";s:2:\"Ù¾\";s:1:\"p\";s:2:\"ت\";s:1:\"t\";s:2:\"Ø«\";s:2:\"th\";s:2:\"ج\";s:1:\"j\";s:2:\"Ú†\";s:2:\"ch\";s:2:\"Ø\";s:1:\"h\";s:2:\"Ø®\";s:2:\"kh\";s:2:\"د\";s:1:\"d\";s:2:\"ذ\";s:1:\"z\";s:2:\"ر\";s:1:\"r\";s:2:\"ز\";s:1:\"z\";s:2:\"Ú˜\";s:2:\"zh\";s:2:\"س\";s:1:\"s\";s:2:\"Ø´\";s:2:\"sh\";s:2:\"ص\";s:1:\"s\";s:2:\"ض\";s:1:\"z\";s:2:\"Ø·\";s:1:\"t\";s:2:\"ظ\";s:2:\"th\";s:2:\"ع\";s:2:\"aa\";s:2:\"غ\";s:2:\"gh\";s:2:\"Ù\";s:1:\"f\";s:2:\"Ù‚\";s:2:\"gh\";s:2:\"Ùƒ\";s:1:\"k\";s:2:\"Ú¯\";s:1:\"g\";s:2:\"Ù„\";s:1:\"l\";s:2:\"Ù…\";s:1:\"m\";s:2:\"Ù†\";s:1:\"n\";s:2:\"Ù‡\";s:1:\"h\";s:2:\"Ùˆ\";s:1:\"o\";s:2:\"ÙŠ\";s:1:\"y\";s:2:\"ÛŒ\";s:1:\"y\";s:2:\"Ù\";s:1:\"e\";s:2:\"Ù\";s:1:\"o\";s:2:\"ÙŽ\";s:1:\"a\";}s:6:\"german\";a:8:{s:2:\"Ä\";s:2:\"Ae\";s:2:\"Ö\";s:2:\"Oe\";s:2:\"Ü\";s:2:\"Ue\";s:2:\"ä\";s:2:\"ae\";s:2:\"ö\";s:2:\"oe\";s:2:\"ü\";s:2:\"ue\";s:2:\"ß\";s:2:\"ss\";s:3:\"ẞ\";s:2:\"SS\";}s:5:\"greek\";a:69:{s:2:\"α\";s:1:\"a\";s:2:\"β\";s:1:\"b\";s:2:\"γ\";s:1:\"g\";s:2:\"δ\";s:1:\"d\";s:2:\"ε\";s:1:\"e\";s:2:\"ζ\";s:1:\"z\";s:2:\"η\";s:1:\"h\";s:2:\"θ\";s:1:\"8\";s:2:\"ι\";s:1:\"i\";s:2:\"κ\";s:1:\"k\";s:2:\"λ\";s:1:\"l\";s:2:\"μ\";s:1:\"m\";s:2:\"ν\";s:1:\"n\";s:2:\"ξ\";s:1:\"3\";s:2:\"ο\";s:1:\"o\";s:2:\"Ï€\";s:1:\"p\";s:2:\"Ï\";s:1:\"r\";s:2:\"σ\";s:1:\"s\";s:2:\"Ï„\";s:1:\"t\";s:2:\"Ï…\";s:1:\"y\";s:2:\"φ\";s:1:\"f\";s:2:\"χ\";s:1:\"x\";s:2:\"ψ\";s:2:\"ps\";s:2:\"ω\";s:1:\"w\";s:2:\"ά\";s:1:\"a\";s:2:\"Î\";s:1:\"e\";s:2:\"ί\";s:1:\"i\";s:2:\"ÏŒ\";s:1:\"o\";s:2:\"Ï\";s:1:\"y\";s:2:\"ή\";s:1:\"h\";s:2:\"ÏŽ\";s:1:\"w\";s:2:\"Ï‚\";s:1:\"s\";s:2:\"ÏŠ\";s:1:\"i\";s:2:\"ΰ\";s:1:\"y\";s:2:\"Ï‹\";s:1:\"y\";s:2:\"Î\";s:1:\"i\";s:2:\"Α\";s:1:\"A\";s:2:\"Î’\";s:1:\"B\";s:2:\"Γ\";s:1:\"G\";s:2:\"Δ\";s:1:\"D\";s:2:\"Ε\";s:1:\"E\";s:2:\"Ζ\";s:1:\"Z\";s:2:\"Η\";s:1:\"H\";s:2:\"Θ\";s:1:\"8\";s:2:\"Ι\";s:1:\"I\";s:2:\"Κ\";s:1:\"K\";s:2:\"Λ\";s:1:\"L\";s:2:\"Μ\";s:1:\"M\";s:2:\"Î\";s:1:\"N\";s:2:\"Ξ\";s:1:\"3\";s:2:\"Ο\";s:1:\"O\";s:2:\"Î \";s:1:\"P\";s:2:\"Ρ\";s:1:\"R\";s:2:\"Σ\";s:1:\"S\";s:2:\"Τ\";s:1:\"T\";s:2:\"Î¥\";s:1:\"Y\";s:2:\"Φ\";s:1:\"F\";s:2:\"Χ\";s:1:\"X\";s:2:\"Ψ\";s:2:\"PS\";s:2:\"Ω\";s:1:\"W\";s:2:\"Ά\";s:1:\"A\";s:2:\"Έ\";s:1:\"E\";s:2:\"Ί\";s:1:\"I\";s:2:\"ÎŒ\";s:1:\"O\";s:2:\"ÎŽ\";s:1:\"Y\";s:2:\"Ή\";s:1:\"H\";s:2:\"Î\";s:1:\"W\";s:2:\"Ϊ\";s:1:\"I\";s:2:\"Ϋ\";s:1:\"Y\";}s:8:\"georgian\";a:33:{s:3:\"áƒ\";s:1:\"a\";s:3:\"ბ\";s:1:\"b\";s:3:\"გ\";s:1:\"g\";s:3:\"დ\";s:1:\"d\";s:3:\"ე\";s:1:\"e\";s:3:\"ვ\";s:1:\"v\";s:3:\"ზ\";s:1:\"z\";s:3:\"თ\";s:1:\"t\";s:3:\"ი\";s:1:\"i\";s:3:\"კ\";s:1:\"k\";s:3:\"ლ\";s:1:\"l\";s:3:\"მ\";s:1:\"m\";s:3:\"ნ\";s:1:\"n\";s:3:\"áƒ\";s:1:\"o\";s:3:\"პ\";s:1:\"p\";s:3:\"ჟ\";s:2:\"zh\";s:3:\"რ\";s:1:\"r\";s:3:\"ს\";s:1:\"s\";s:3:\"ტ\";s:1:\"t\";s:3:\"უ\";s:1:\"u\";s:3:\"ფ\";s:1:\"f\";s:3:\"ქ\";s:1:\"k\";s:3:\"ღ\";s:2:\"gh\";s:3:\"ყ\";s:1:\"q\";s:3:\"შ\";s:2:\"sh\";s:3:\"ჩ\";s:2:\"ch\";s:3:\"ც\";s:2:\"ts\";s:3:\"ძ\";s:2:\"dz\";s:3:\"წ\";s:2:\"ts\";s:3:\"áƒ\";s:2:\"ch\";s:3:\"ხ\";s:2:\"kh\";s:3:\"ჯ\";s:1:\"j\";s:3:\"ჰ\";s:1:\"h\";}s:5:\"hindi\";a:28:{s:2:\"Ø£\";s:1:\"a\";s:2:\"ب\";s:1:\"b\";s:2:\"ت\";s:1:\"t\";s:2:\"Ø«\";s:2:\"th\";s:2:\"ج\";s:1:\"g\";s:2:\"Ø\";s:1:\"h\";s:2:\"Ø®\";s:2:\"kh\";s:2:\"د\";s:1:\"d\";s:2:\"ذ\";s:2:\"th\";s:2:\"ر\";s:1:\"r\";s:2:\"ز\";s:1:\"z\";s:2:\"س\";s:1:\"s\";s:2:\"Ø´\";s:2:\"sh\";s:2:\"ص\";s:1:\"s\";s:2:\"ض\";s:1:\"d\";s:2:\"Ø·\";s:1:\"t\";s:2:\"ظ\";s:2:\"th\";s:2:\"ع\";s:2:\"aa\";s:2:\"غ\";s:2:\"gh\";s:2:\"Ù\";s:1:\"f\";s:2:\"Ù‚\";s:1:\"k\";s:2:\"Ùƒ\";s:1:\"k\";s:2:\"Ù„\";s:1:\"l\";s:2:\"Ù…\";s:1:\"m\";s:2:\"Ù†\";s:1:\"n\";s:2:\"Ù‡\";s:1:\"h\";s:2:\"Ùˆ\";s:1:\"o\";s:2:\"ÙŠ\";s:1:\"y\";}s:5:\"latin\";a:72:{s:2:\"À\";s:1:\"A\";s:2:\"Ã\";s:1:\"A\";s:2:\"Â\";s:1:\"A\";s:2:\"Ã\";s:1:\"A\";s:2:\"Ä\";s:1:\"A\";s:2:\"Ã…\";s:1:\"A\";s:2:\"Ä‚\";s:1:\"A\";s:2:\"Æ\";s:2:\"AE\";s:2:\"Ç\";s:1:\"C\";s:2:\"È\";s:1:\"E\";s:2:\"É\";s:1:\"E\";s:2:\"Ê\";s:1:\"E\";s:2:\"Ë\";s:1:\"E\";s:2:\"ÃŒ\";s:1:\"I\";s:2:\"Ã\";s:1:\"I\";s:2:\"ÃŽ\";s:1:\"I\";s:2:\"Ã\";s:1:\"I\";s:2:\"Ã\";s:1:\"D\";s:2:\"Ñ\";s:1:\"N\";s:2:\"Ã’\";s:1:\"O\";s:2:\"Ó\";s:1:\"O\";s:2:\"Ô\";s:1:\"O\";s:2:\"Õ\";s:1:\"O\";s:2:\"Ö\";s:1:\"O\";s:2:\"Å\";s:1:\"O\";s:2:\"Ø\";s:1:\"O\";s:2:\"Ș\";s:1:\"S\";s:2:\"Èš\";s:1:\"T\";s:2:\"Ù\";s:1:\"U\";s:2:\"Ú\";s:1:\"U\";s:2:\"Û\";s:1:\"U\";s:2:\"Ü\";s:1:\"U\";s:2:\"Ű\";s:1:\"U\";s:2:\"Ã\";s:1:\"Y\";s:2:\"Þ\";s:2:\"TH\";s:2:\"ß\";s:2:\"ss\";s:2:\"à \";s:1:\"a\";s:2:\"á\";s:1:\"a\";s:2:\"â\";s:1:\"a\";s:2:\"ã\";s:1:\"a\";s:2:\"ä\";s:1:\"a\";s:2:\"Ã¥\";s:1:\"a\";s:2:\"ă\";s:1:\"a\";s:2:\"æ\";s:2:\"ae\";s:2:\"ç\";s:1:\"c\";s:2:\"è\";s:1:\"e\";s:2:\"é\";s:1:\"e\";s:2:\"ê\";s:1:\"e\";s:2:\"ë\";s:1:\"e\";s:2:\"ì\";s:1:\"i\";s:2:\"Ã\";s:1:\"i\";s:2:\"î\";s:1:\"i\";s:2:\"ï\";s:1:\"i\";s:2:\"ð\";s:1:\"d\";s:2:\"ñ\";s:1:\"n\";s:2:\"ò\";s:1:\"o\";s:2:\"ó\";s:1:\"o\";s:2:\"ô\";s:1:\"o\";s:2:\"õ\";s:1:\"o\";s:2:\"ö\";s:1:\"o\";s:2:\"Å‘\";s:1:\"o\";s:2:\"ø\";s:1:\"o\";s:2:\"È™\";s:1:\"s\";s:2:\"È›\";s:1:\"t\";s:2:\"ù\";s:1:\"u\";s:2:\"ú\";s:1:\"u\";s:2:\"û\";s:1:\"u\";s:2:\"ü\";s:1:\"u\";s:2:\"ű\";s:1:\"u\";s:2:\"ý\";s:1:\"y\";s:2:\"þ\";s:2:\"th\";s:2:\"ÿ\";s:1:\"y\";}s:13:\"latin_symbols\";a:2:{s:2:\"©\";s:3:\"(c)\";s:2:\"®\";s:3:\"(r)\";}s:7:\"latvian\";a:22:{s:2:\"Ä\";s:1:\"a\";s:2:\"Ä\";s:1:\"c\";s:2:\"Ä“\";s:1:\"e\";s:2:\"Ä£\";s:1:\"g\";s:2:\"Ä«\";s:1:\"i\";s:2:\"Ä·\";s:1:\"k\";s:2:\"ļ\";s:1:\"l\";s:2:\"ņ\";s:1:\"n\";s:2:\"Å¡\";s:1:\"s\";s:2:\"Å«\";s:1:\"u\";s:2:\"ž\";s:1:\"z\";s:2:\"Ä€\";s:1:\"A\";s:2:\"ÄŒ\";s:1:\"C\";s:2:\"Ä’\";s:1:\"E\";s:2:\"Ä¢\";s:1:\"G\";s:2:\"Ī\";s:1:\"i\";s:2:\"Ķ\";s:1:\"k\";s:2:\"Ä»\";s:1:\"L\";s:2:\"Å…\";s:1:\"N\";s:2:\"Å \";s:1:\"S\";s:2:\"Ū\";s:1:\"u\";s:2:\"Ž\";s:1:\"Z\";}s:10:\"lithuanian\";a:18:{s:2:\"Ä…\";s:1:\"a\";s:2:\"Ä\";s:1:\"c\";s:2:\"Ä™\";s:1:\"e\";s:2:\"Ä—\";s:1:\"e\";s:2:\"į\";s:1:\"i\";s:2:\"Å¡\";s:1:\"s\";s:2:\"ų\";s:1:\"u\";s:2:\"Å«\";s:1:\"u\";s:2:\"ž\";s:1:\"z\";s:2:\"Ä„\";s:1:\"A\";s:2:\"ÄŒ\";s:1:\"C\";s:2:\"Ę\";s:1:\"E\";s:2:\"Ä–\";s:1:\"E\";s:2:\"Ä®\";s:1:\"I\";s:2:\"Å \";s:1:\"S\";s:2:\"Ų\";s:1:\"U\";s:2:\"Ū\";s:1:\"U\";s:2:\"Ž\";s:1:\"Z\";}s:6:\"polish\";a:18:{s:2:\"Ä…\";s:1:\"a\";s:2:\"ć\";s:1:\"c\";s:2:\"Ä™\";s:1:\"e\";s:2:\"Å‚\";s:1:\"l\";s:2:\"Å„\";s:1:\"n\";s:2:\"ó\";s:1:\"o\";s:2:\"Å›\";s:1:\"s\";s:2:\"ź\";s:1:\"z\";s:2:\"ż\";s:1:\"z\";s:2:\"Ä„\";s:1:\"A\";s:2:\"Ć\";s:1:\"C\";s:2:\"Ę\";s:1:\"e\";s:2:\"Å\";s:1:\"L\";s:2:\"Ń\";s:1:\"N\";s:2:\"Ó\";s:1:\"O\";s:2:\"Åš\";s:1:\"S\";s:2:\"Ź\";s:1:\"Z\";s:2:\"Å»\";s:1:\"Z\";}s:8:\"romanian\";a:7:{s:2:\"ă\";s:1:\"a\";s:2:\"â\";s:1:\"a\";s:2:\"î\";s:1:\"i\";s:2:\"È™\";s:1:\"s\";s:2:\"È›\";s:1:\"t\";s:2:\"Å¢\";s:1:\"T\";s:2:\"Å£\";s:1:\"t\";}s:7:\"russian\";a:28:{s:2:\"а\";s:1:\"a\";s:2:\"б\";s:1:\"b\";s:2:\"в\";s:1:\"v\";s:2:\"г\";s:1:\"g\";s:2:\"д\";s:1:\"d\";s:2:\"е\";s:1:\"e\";s:2:\"Ñ‘\";s:2:\"yo\";s:2:\"ж\";s:2:\"zh\";s:2:\"з\";s:1:\"z\";s:2:\"и\";s:1:\"i\";s:2:\"й\";s:1:\"j\";s:2:\"к\";s:1:\"k\";s:2:\"л\";s:1:\"l\";s:2:\"м\";s:1:\"m\";s:2:\"н\";s:1:\"n\";s:2:\"о\";s:1:\"o\";s:2:\"п\";s:1:\"p\";s:2:\"Ñ€\";s:1:\"r\";s:2:\"Ñ\";s:1:\"s\";s:2:\"Ñ‚\";s:1:\"t\";s:2:\"у\";s:1:\"u\";s:2:\"Ñ„\";s:1:\"f\";s:2:\"Ñ…\";s:1:\"h\";s:2:\"ц\";s:1:\"c\";s:2:\"ч\";s:2:\"ch\";s:2:\"ш\";s:2:\"sh\";s:2:\"щ\";s:2:\"sh\";s:2:\"ÑŠ\";s:0:\"\";}s:8:\"serbianr\";a:14:{s:2:\"Ñ’\";s:2:\"dj\";s:2:\"ј\";s:1:\"j\";s:2:\"Ñ™\";s:2:\"lj\";s:2:\"Ñš\";s:2:\"nj\";s:2:\"Ñ›\";s:1:\"c\";s:2:\"ÑŸ\";s:2:\"dz\";s:2:\"Ä‘\";s:2:\"dj\";s:2:\"Ђ\";s:2:\"Dj\";s:2:\"Ј\";s:1:\"j\";s:2:\"Љ\";s:2:\"Lj\";s:2:\"Њ\";s:2:\"Nj\";s:2:\"Ћ\";s:1:\"C\";s:2:\"Ð\";s:2:\"Dz\";s:2:\"Ä\";s:2:\"Dj\";}s:7:\"turkish\";a:12:{s:2:\"ÅŸ\";s:1:\"s\";s:2:\"Åž\";s:1:\"S\";s:2:\"ı\";s:1:\"i\";s:2:\"İ\";s:1:\"I\";s:2:\"ç\";s:1:\"c\";s:2:\"Ç\";s:1:\"C\";s:2:\"ü\";s:1:\"u\";s:2:\"Ü\";s:1:\"U\";s:2:\"ö\";s:1:\"o\";s:2:\"Ö\";s:1:\"O\";s:2:\"ÄŸ\";s:1:\"g\";s:2:\"Äž\";s:1:\"G\";}s:9:\"ukrainian\";a:8:{s:2:\"Є\";s:2:\"Ye\";s:2:\"І\";s:1:\"I\";s:2:\"Ї\";s:2:\"Yi\";s:2:\"Ò\";s:1:\"G\";s:2:\"Ñ”\";s:2:\"ye\";s:2:\"Ñ–\";s:1:\"i\";s:2:\"Ñ—\";s:2:\"yi\";s:2:\"Ò‘\";s:1:\"g\";}s:10:\"vietnamese\";a:134:{s:2:\"Ã\";s:1:\"A\";s:2:\"À\";s:1:\"A\";s:3:\"Ả\";s:1:\"A\";s:2:\"Ã\";s:1:\"A\";s:3:\"Ạ\";s:1:\"A\";s:2:\"Ä‚\";s:1:\"A\";s:3:\"Ắ\";s:1:\"A\";s:3:\"Ằ\";s:1:\"A\";s:3:\"Ẳ\";s:1:\"A\";s:3:\"Ẵ\";s:1:\"A\";s:3:\"Ặ\";s:1:\"A\";s:2:\"Â\";s:1:\"A\";s:3:\"Ấ\";s:1:\"A\";s:3:\"Ầ\";s:1:\"A\";s:3:\"Ẩ\";s:1:\"A\";s:3:\"Ẫ\";s:1:\"A\";s:3:\"Ậ\";s:1:\"A\";s:2:\"á\";s:1:\"a\";s:2:\"à \";s:1:\"a\";s:3:\"ả\";s:1:\"a\";s:2:\"ã\";s:1:\"a\";s:3:\"ạ\";s:1:\"a\";s:2:\"ă\";s:1:\"a\";s:3:\"ắ\";s:1:\"a\";s:3:\"ằ\";s:1:\"a\";s:3:\"ẳ\";s:1:\"a\";s:3:\"ẵ\";s:1:\"a\";s:3:\"ặ\";s:1:\"a\";s:2:\"â\";s:1:\"a\";s:3:\"ấ\";s:1:\"a\";s:3:\"ầ\";s:1:\"a\";s:3:\"ẩ\";s:1:\"a\";s:3:\"ẫ\";s:1:\"a\";s:3:\"áº\";s:1:\"a\";s:2:\"É\";s:1:\"E\";s:2:\"È\";s:1:\"E\";s:3:\"Ẻ\";s:1:\"E\";s:3:\"Ẽ\";s:1:\"E\";s:3:\"Ẹ\";s:1:\"E\";s:2:\"Ê\";s:1:\"E\";s:3:\"Ế\";s:1:\"E\";s:3:\"Ề\";s:1:\"E\";s:3:\"Ể\";s:1:\"E\";s:3:\"Ễ\";s:1:\"E\";s:3:\"Ệ\";s:1:\"E\";s:2:\"é\";s:1:\"e\";s:2:\"è\";s:1:\"e\";s:3:\"ẻ\";s:1:\"e\";s:3:\"ẽ\";s:1:\"e\";s:3:\"ẹ\";s:1:\"e\";s:2:\"ê\";s:1:\"e\";s:3:\"ế\";s:1:\"e\";s:3:\"á»\";s:1:\"e\";s:3:\"ể\";s:1:\"e\";s:3:\"á»…\";s:1:\"e\";s:3:\"ệ\";s:1:\"e\";s:2:\"Ã\";s:1:\"I\";s:2:\"ÃŒ\";s:1:\"I\";s:3:\"Ỉ\";s:1:\"I\";s:2:\"Ĩ\";s:1:\"I\";s:3:\"Ị\";s:1:\"I\";s:2:\"Ã\";s:1:\"i\";s:2:\"ì\";s:1:\"i\";s:3:\"ỉ\";s:1:\"i\";s:2:\"Ä©\";s:1:\"i\";s:3:\"ị\";s:1:\"i\";s:2:\"Ó\";s:1:\"O\";s:2:\"Ã’\";s:1:\"O\";s:3:\"Ỏ\";s:1:\"O\";s:2:\"Õ\";s:1:\"O\";s:3:\"Ọ\";s:1:\"O\";s:2:\"Ô\";s:1:\"O\";s:3:\"á»\";s:1:\"O\";s:3:\"á»’\";s:1:\"O\";s:3:\"á»”\";s:1:\"O\";s:3:\"á»–\";s:1:\"O\";s:3:\"Ộ\";s:1:\"O\";s:2:\"Æ \";s:1:\"O\";s:3:\"Ớ\";s:1:\"O\";s:3:\"Ờ\";s:1:\"O\";s:3:\"Ở\";s:1:\"O\";s:3:\"á» \";s:1:\"O\";s:3:\"Ợ\";s:1:\"O\";s:2:\"ó\";s:1:\"o\";s:2:\"ò\";s:1:\"o\";s:3:\"á»\";s:1:\"o\";s:2:\"õ\";s:1:\"o\";s:3:\"á»\";s:1:\"o\";s:2:\"ô\";s:1:\"o\";s:3:\"ố\";s:1:\"o\";s:3:\"ồ\";s:1:\"o\";s:3:\"ổ\";s:1:\"o\";s:3:\"á»—\";s:1:\"o\";s:3:\"á»™\";s:1:\"o\";s:2:\"Æ¡\";s:1:\"o\";s:3:\"á»›\";s:1:\"o\";s:3:\"á»\";s:1:\"o\";s:3:\"ở\";s:1:\"o\";s:3:\"ỡ\";s:1:\"o\";s:3:\"ợ\";s:1:\"o\";s:2:\"Ú\";s:1:\"U\";s:2:\"Ù\";s:1:\"U\";s:3:\"Ủ\";s:1:\"U\";s:2:\"Ũ\";s:1:\"U\";s:3:\"Ụ\";s:1:\"U\";s:2:\"Ư\";s:1:\"U\";s:3:\"Ứ\";s:1:\"U\";s:3:\"Ừ\";s:1:\"U\";s:3:\"Ử\";s:1:\"U\";s:3:\"á»®\";s:1:\"U\";s:3:\"á»°\";s:1:\"U\";s:2:\"ú\";s:1:\"u\";s:2:\"ù\";s:1:\"u\";s:3:\"á»§\";s:1:\"u\";s:2:\"Å©\";s:1:\"u\";s:3:\"ụ\";s:1:\"u\";s:2:\"ư\";s:1:\"u\";s:3:\"ứ\";s:1:\"u\";s:3:\"ừ\";s:1:\"u\";s:3:\"á»\";s:1:\"u\";s:3:\"ữ\";s:1:\"u\";s:3:\"á»±\";s:1:\"u\";s:2:\"Ã\";s:1:\"Y\";s:3:\"Ỳ\";s:1:\"Y\";s:3:\"á»¶\";s:1:\"Y\";s:3:\"Ỹ\";s:1:\"Y\";s:3:\"á»´\";s:1:\"Y\";s:2:\"ý\";s:1:\"y\";s:3:\"ỳ\";s:1:\"y\";s:3:\"á»·\";s:1:\"y\";s:3:\"ỹ\";s:1:\"y\";s:3:\"ỵ\";s:1:\"y\";s:2:\"Ä\";s:1:\"D\";s:2:\"Ä‘\";s:1:\"d\";}}"', true));
}
/**
* Configuration
*
* @param boolean $applyAll True = Apply all available char set
* @param array $charSet Selection
* @param boolean $lowercase True = Return result as lower case
*/
public function config($applyAll = false, $charSet = array(), $lowercase = false) {
$this->lowercase = (boolean) $lowercase;
if ((boolean) $applyAll) {
$this->charSet = self::$maps;
}
elseif (is_array($charSet) && !empty($charSet)) {
foreach ($charSet as $v) {
if (array_key_exists($v, self::$maps)) {
$this->charSet[$v] = self::$maps[$v];
}
}
}
if (!empty($this->charSet)) {
$flattened = array();
array_walk_recursive($this->charSet, function($v, $k) use (&$flattened) {
(!is_int($k)) ? $flattened[$k] = $v : $flattened[] = $v;
});
$this->charSet = $flattened;
}
}
/**
* Run
*
* @param array|string $data Values to format
* @return array|string
*/
public function slugify($data) {
if (is_array($data)) {
foreach ($data as $k => $v) {
$data[$k] = $this->slugify($v);
}
return $data;
}
else {
$ndata = mb_convert_encoding((string) $data, 'UTF-8', mb_list_encodings());
if (!empty($this->charSet)) {
$ndata = strtr($ndata, $this->charSet);
}
if ($this->lowercase) {
$ndata = mb_strtolower($ndata);
}
// Replace non letter or digits by - then Remove -
return trim(preg_replace('~[^\\pL\d]+~u', '-', $ndata), '-');
}
}
/**
* Get available char set list in string (For viewing only)
*
* @return string Result
*/
public function viewList() {
$text = '';
$textformat = 'Type: %s<br><br>%s<br><br>';
foreach (self::$maps as $k => $v) {
$text .= sprintf($textformat, $k, implode(', ', array_keys($v)));
}
return $text;
}
}
|