лучший способ выйти и создать краткий заголовок [дубликат]

6
задан Community 23 May 2017 в 12:20
поделиться

2 ответа

mysql_real_escape_string () имеет другое назначение, чем urlencode (), которые оба не подходят для создания ярлыка.

Заголовок должен быть ясной и содержательной фразой, кратко описывающей страницу.

mysql_real_escape_string () экранирует опасные символы, которые могут изменить назначение исходной строки запроса.

urlencode () экранирует недопустимые символы URL с помощью символа "%", за которым следуют 2 шестнадцатеричные цифры, представляющие их код (например,% 20 для пробела).Таким образом, результирующая строка не будет ясной и значимой из-за неприятных последовательностей символов, например http://www.domain.com/bad%20slug%20here%20%3C--

Таким образом, любые символы, на которые может воздействовать urlencode (), должны быть опущены, за исключением пробелов, которые обычно заменяются на - .

2
ответ дан 8 December 2019 в 17:20
поделиться

Использование MySQL или экранирования URL-адресов не подходит.

Вот статья , которая делает это лучше:

function toSlug($string,$space="-") {
    if (function_exists('iconv')) {
        $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
    }
    $string = preg_replace("/[^a-zA-Z0-9 -]/", "", $string);
    $string = strtolower($string);
    $string = str_replace(" ", $space, $string);
    return $string;
}

Это также правильно работает для символов с диакритическими знаками.

12
ответ дан 8 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: