День добрый, уважаемые знатоки!
Недостаток серого вещества в мозгу не позволяет решить следующую задачу:
Как убрать из ЧПУ quot вместо кавычек ( " ) и просто заменить пустым символом.
Модуль: /admin/model/extension/exchange1c.php
/**
* ver 3
* update 2017-06-12
* Транслиетрирует RUS->ENG
* @param string $aString
* @return string type
* Автор: Константин Кирилюк
* url: http://www.chuvyr.ru/2013/11/translit.html
*/
private function translit($s, $space = '-') {
$s = (string) $s; // преобразуем в строковое значение
$s = strip_tags($s); // убираем HTML-теги
$s = str_replace(array('\n', '\r'), ' ', $s); // убираем перевод каретки
$s = trim($s); // убираем пробелы в начале и конце строки
$s = function_exists('mb_strtolower') ? mb_strtolower($s) : strtolower($s); // переводим строку в нижний регистр (иногда надо задать локаль)
$s = strtr($s, array('а'=>'a','б'=>'b','в'=>'v','г'=>'h','ґ'=>'g','д'=>'d','е'=>'e','є'=>'ye','ж'=>'zh','з'=>'z','и'=>'y','і'=>'i','ї'=>'yi','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c','ч'=>'ch','ш'=>'sh','щ'=>'shch','ю'=>'yu','я'=>'ya','ь'=>''));
$s = preg_replace('/[^0-9a-z-_ ]/i', '', $s); // очищаем строку от недопустимых символов
$s = preg_replace('/\s+/', ' ', $s); // удаляем повторяющие пробелы
$s = str_replace(' ', $space, $s); // заменяем пробелы знаком минус
return $s; // возвращаем результат
} // translit()
По идее следующая строка должна была решить эту проблему:
$s = preg_replace('/[^0-9a-z-_ ]/i', '', $s); // очищаем строку от недопустимых символов
Но нет
Не могу понять, на каком этапе " стают quot
Когда добавлял код (после ичищения строки от недопустимых символов, а также пробовал в разные места ))) ):
$s = preg_replace('\"', '', $s);
или
$s = preg_replace('quot', '', $s);
То вообще SEO URL не создавался, получил только "ничего и дёргающий глаз" а также ошибку 1с, после синхронизации: "Недопустимое значение параметра (параметр номер 2)".
Так как убрать эти quot?
Спасибо за помощь!