Skip to content

Instantly share code, notes, and snippets.

@aktaumag
Created March 11, 2018 06:53
Show Gist options
  • Save aktaumag/94b2f56819da417a0e2c0a1e3a407478 to your computer and use it in GitHub Desktop.
Save aktaumag/94b2f56819da417a0e2c0a1e3a407478 to your computer and use it in GitHub Desktop.
Перекодировать УРЛ с русским названием папок и файлов, для корректного прохождения валидатора кода
// WebSEO.kz add: перекодирую путь картинок, чтобы прошла валидация
// $s='https://www.domen.kz/image/data/печи Варнава/Сказка Мини (до 12 куб.м.)-190x190.jpg';
$url = parse_url($s);
$arr = explode('/', $url['path']);
$coded = array_map('rawurlencode', $arr); // Обработать массив функцией rawurlencode
$restored = 'https://'.$url['host'].implode('/', $coded); // Собрать перекодированный url обратно
// $restored = str_replace('%23', '#', $$restored); // Ибо rawurlencode заменяет якорь '#' на ''%23'
@aktaumag
Copy link
Author

Часто, в теге ALT или в других местах сайта встречаются кавычки, которые не дают проходить валидацию HTML кода и не позволяют поисковикам считывать и понимать сайт.
PHP код для замены всех кавычек на французские ёлочки. Ставим пробел в начале строки, заменяем все кавычки после пробела на « открывающие лапки, а все остальные меняем на » закрывающие. Очищаем лишние пробелы.

$imagealt = trim(str_replace('"', '»',str_replace(' "', ' «',' '.$imagealt)))

@aktaumag
Copy link
Author

str_replace(' ', '%20', $url);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment