Перейти к содержанию
Форум поддержки пользователей VamShop

ф-я vam_cleanName


Рекомендуемые сообщения

использую ее при генерации сео урл

как ее исправить чтобы в строке "Instrukciya-po-yekspluatacii---zamok-La-Gard--modeli-Kombogard-33E-" убрать из последовательности "---..." лишние "-" и убрать в конце лишние "-"?

также впринцыпе нужно добавить символы « » в str_replace

Ссылка на сообщение
Поделиться на другие сайты

вот как вариант что получилось


function spaces_trim($name) {
    $i = 0;
    $temp = "";
    while ($name[$i] == '-') $i++;
    while ($i < strlen($name)) $temp = $temp.$name[$i++];
    $temp = strrev($temp);
   
    $i = 0;
    $str = "";
    while ($temp[$i] == '-') $i++;
    while ($i < strlen($temp)) $str = $str.$temp[$i++];
    $str = strrev($str);
   
    return $str;
}

function sub_replace($name){
    $temp = $name;
    while (strpos($temp, '--') !== false){
        $temp = str_replace('--', '-', $temp);
    }
    return $temp;
}

function vam_cleanName($name) {
    $replace_param = '/[^a-zA-Zа-яА-Я0-9]/';
    $cyrillic = array("ж", "ё", "й","ю", "ь","ч", "щ", "ц","у","к","е","н","г","ш", "з","х","ъ","ф","ы","в","а","п","р","о","л","д","э","я","с","м","и","т","б","Ё","Й","Ю","Ч","Ь","Щ","Ц","У","К","Е","Н","Г","Ш","З","Х","Ъ","Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","Я","С","М","И","Т","Б", "»", "«");
    $translit = array("zh","yo","i","yu","","ch","sh","c","u","k","e","n","g","sh","z","h","",  "f",  "y",  "v",  "a",  "p",  "r",  "o",  "l",  "d",  "ye", "ya", "s",  "m",  "i",  "t",  "b",  "yo", "I",  "YU", "CH", "",  "SH", "C",  "U",  "K",  "E",  "N",  "G",  "SH", "Z",  "H",  "",  "F",  "Y",  "V",  "A",  "P",  "R",  "O",  "L",  "D",  "Zh", "Ye", "Ya", "S",  "M",  "I",  "T",  "B", "", "");
    $name = str_replace($cyrillic, $translit, $name);   
    $name = preg_replace($replace_param,'-',$name);
   
    $name = sub_replace($name);
    $name = spaces_trim($name);
   
    return $name;
}
[/code]

только осталось еще както переработать ф-ю [b]spaces_trim[/b]

Ссылка на сообщение
Поделиться на другие сайты

Я никогда такой функцией и не пользовался даже :)

Может поискать пример класса какого-нибудь на phpclasses.org

Там иногда хорошие примеры попадаются.

Ссылка на сообщение
Поделиться на другие сайты

>Я никогда такой функцией и не пользовался даж

какой vam_cleanName? а как же тогда сео урл формируется? с рус на англ?

у меня скрипт просто который записывает для товаров статей и т.д. seo-url так как вручную это будет очень долго ) а vam_cleanName просто переводит на англ названия товаров и т.д...

а стандартные http://site/products_info/p34_... мне не оч нравятся... )

Ссылка на сообщение
Поделиться на другие сайты

>spaces_trim

еще бы не видел я ее сам писал )

оно все норм работает просто думаю что ее переписать както можно через станд ф-и работы со строками а то я перемудрил с циклами... )

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...