VaM Shop



  • Установка и настройка
  • Проблемы и решения
  • Шаблоны
  • Модули
  • Установщик модулей


  • Интеграция Vamshop
  • Общие вопросы
  • Продажа открытого программного обеспечения


Открытая копия форума поддержки Vamshop

Форум поддержки VaM Shop

Свободное программное обеспечение => Общие вопросы => Тема начата: mosquito от 26 Марта 2009, 14:28:37



Название: ф-я vam_cleanName
Отправлено: mosquito от 26 Марта 2009, 14:28:37
использую ее при генерации сео урл
как ее исправить чтобы в строке "Instrukciya-po-yekspluatacii---zamok-La-Gard--modeli-Kombogard-33E-" убрать из последовательности "---..." лишние "-" и убрать в конце лишние "-"?

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


Название: Re: ф-я vam_cleanName
Отправлено: VaM от 26 Марта 2009, 14:31:52
Я даже и не знаю, если честно.


Название: Re: ф-я vam_cleanName
Отправлено: mosquito от 26 Марта 2009, 16:47:29
вот как вариант что получилось
Код:
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;
}

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


Название: Re: ф-я vam_cleanName
Отправлено: VaM от 26 Марта 2009, 17:09:27
Я никогда такой функцией и не пользовался даже :)
Может поискать пример класса какого-нибудь на phpclasses.org
Там иногда хорошие примеры попадаются.


Название: Re: ф-я vam_cleanName
Отправлено: mosquito от 26 Марта 2009, 17:34:56
>Я никогда такой функцией и не пользовался даж
какой vam_cleanName? а как же тогда сео урл формируется? с рус на англ?

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


Название: Re: ф-я vam_cleanName
Отправлено: VaM от 26 Марта 2009, 17:38:23
spaces_trim я имею в виду.

Надеюсь, что разберёшься, просто я плохой советчик в этом вопросе.


Название: Re: ф-я vam_cleanName
Отправлено: mosquito от 26 Марта 2009, 17:42:22
>spaces_trim
еще бы не видел я ее сам писал )
оно все норм работает просто думаю что ее переписать както можно через станд ф-и работы со строками а то я перемудрил с циклами... )




Вам нужен шаблон Vamshop или интернет-магазин под ключ?
E-mail - help@visuon.ru
ICQ - 300253


Можно купить Naruto Shippuuden здесь - Windows xp sp3 - оригинальные образы качайте отсюда!

карта сайта