note 110599 deleted from normalizer.normalize by aharvey

From: Date: Mon, 12 Nov 2012 01:37:40 +0000
Subject: note 110599 deleted from normalizer.normalize by aharvey
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-191884@lists.php.net to get a copy of this message
Note Submitter: Felix Riesterer ---- I don't have the normalizer class supported on my shared hosting so I used my word processor to get all those funny characters with "diacritics" and put them into this simple function in order to get a normalized lowercase output: <?php function normalize_utf8_tolower ($s) { // replacements for lower-case ASCII-characters $r = array( 'a' => 'AaÀÁÂÃÅàáâãåĀāĂ㥹ǍǎǺǻ' . 'ẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặΆ', 'ae' => 'Ä俯Ǽǽ', 'b' => 'bB', 'c' => 'CcÇçĆćĈĉĊċČč', 'd' => 'DdÐĎďĐđ', 'e' => 'EeÈÉÊËèéêëĒēĔĕĖėĘęĚěẸẹẺẻẼẽẾếỀềỂểỄễỆệΈ', 'f' => 'Ffƒ', 'g' => 'GgĜĝĞğĠġĢģ', 'h' => 'HhĤĥĦħΉ', 'i' => 'IiÌÍÎÏìíîïĨĩĪīĬĭĮįİıǏǐỈỉỊịΊΐ', 'ij' => 'IJij', 'j' => 'JjĴĵ', 'k' => 'KkĶķĸ', 'l' => 'LlĹĺĻļĽľĿŀŁł', 'm' => 'Mm', 'n' => 'NnÑñŃńŅņŇňʼn', 'ng' => 'Ŋŋ', 'o' => 'OoÒÓÔÕØòóôõøŌōŎŏŐőƠơǑǒǾǿΌ' . 'ỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợ', 'oe' => 'ÖöŒœ', 'p' => 'Pp', 'q' => 'Qq', 'r' => 'RrŔŕŖŗŘř', 's' => 'SsŚśŜŝŞşŠš', 'ss' => 'ßß', 't' => 'TtŢţŤťŦŧ', 'u' => 'UuÙÚÛŨũŪūŬŭŮůŰűŲųƯưǓǔ' . 'ǕǖǗǘǙǚǛǜùúûỤụỦủỨứỪừỬửỮữỰự', 'ue' => 'Üü', 'v' => 'Vv', 'w' => 'WwŴŵẀẁẂẃẄẅ', 'x' => 'Xx', 'y' => 'YyÝýÿŶŷŸΎỲỳỴỵỶỷỸỹ', 'z' => 'ZzŹźŻżŽž' ); // replace foreach ($r as $c => $variants) { $s = preg_replace("~[$variants]~su", $c, $s); } return $s; } ?> Note: I might be oh so wrong about certain replacements (like 'Ŋŋ'=> 'ng') but for me the above worked just fine.

« previous php.notes (#191884) next »