Artem-Samsung
05-02-2010, 22:05
Цель - создание ЧПУ.
В адресной строке мне нужно что бы были только буквы английского алфавита и подчеркивание.
для преобразования в английский алфавит русских заголовков я использую функцию, которую на этом же форуме мне любезно предоставили:
function encodestring($st){
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI");
$st=strtr($st, array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
)); return $st;
}
А вот для очистки от лишних сиволов я делаю такое:
function textclear ($t) {
$t = ltrim($t); $t = rtrim($t);
$t = str_replace(" - ", "-", $t); $t = str_replace(" ", "_", $t);
$t = str_replace("`", "",$t); $t = str_replace("’", "",$t);
$t = str_replace("\"", "",$t); $t = str_replace("\'", "",$t);
$t = str_replace(",", "",$t); $t = str_replace(".", "",$t);
$t = str_replace("«", "",$t); $t = str_replace("»", "",$t);
$t = str_replace("+", "plus", $t); $t = str_replace("%", "",$t);
return $t;
}
Может есть какие то более толковые методы, потому что таким образом все символы не предусмотреть.
Спасибо
В адресной строке мне нужно что бы были только буквы английского алфавита и подчеркивание.
для преобразования в английский алфавит русских заголовков я использую функцию, которую на этом же форуме мне любезно предоставили:
function encodestring($st){
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI");
$st=strtr($st, array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
)); return $st;
}
А вот для очистки от лишних сиволов я делаю такое:
function textclear ($t) {
$t = ltrim($t); $t = rtrim($t);
$t = str_replace(" - ", "-", $t); $t = str_replace(" ", "_", $t);
$t = str_replace("`", "",$t); $t = str_replace("’", "",$t);
$t = str_replace("\"", "",$t); $t = str_replace("\'", "",$t);
$t = str_replace(",", "",$t); $t = str_replace(".", "",$t);
$t = str_replace("«", "",$t); $t = str_replace("»", "",$t);
$t = str_replace("+", "plus", $t); $t = str_replace("%", "",$t);
return $t;
}
Может есть какие то более толковые методы, потому что таким образом все символы не предусмотреть.
Спасибо