-1 потому что это не касается акцентированных символов, сри.
аюсь создать строку URL, аналогичную той, которую SO использует для ссылок на вопросы. Я не смотрю на переписывание URL (mod_rewrite). Я смотрю на создание ссылки на странице.
Пример: название вопроса:
Is it better to use ob_get_contents() or $text .= ‘test’;
URL в конечном итоге будет:
http://stackoverflow.com/questions/292068/is-it-better-to-use-obgetcontents-or-text-test
Часть, в которой я заинтересован:
is-it-better-to-use-obgetcontents-or-text-test
Таким образом, в основном я пытаюсь очистить все, что не является буквенно-цифровым, сохраняя читаемость URL. Я создал следующее, но я не уверен, что это лучший способ или он охватывает все возможности:
$str = urlencode(
strtolower(
str_replace('--', '-',
preg_replace(array('/[^a-z0-9 ]/i', '/[^a-z0-9]/i'), array('', '-'),
trim($urlPart)))));
Итак, в основном:
отделказаменить любой алфавитно-цифровой плюс пробел ни на чтозатем замените все, что не буквенно-цифровое, тирезаменить -.strtolower()
urlencode()
- вероятно, не нужно, но просто для хорошей меры.