Поскольку этот вопрос для меня немного неясен, я предполагаю, что информационная строка выступает в качестве ключевого слова для дополнительной информации (например, заголовка для статьи), и нет настоящего поиска GET требование.
Если это так, если разрешено изменять структуру базы данных, я бы использовал вместо этого суррогатный ключ (например, числовой идентификатор), используя title-thingy в качестве слага .
В этом случае, когда вы создаете ссылки на своем веб-сайте, вы получаете как идентификатор, так и слаг для цели, и создаете его URL в формате http://example.com/[id]/[slug]/
, например http://example.com/213/omg-lol-the-cat-jumped/
.
При обработке запроса на вашем сервере вас интересует только идентификатор ("213"), а слизень ("omg-lol-the-cat-jumped") предназначен только для пользователя-человека, чтобы тот прокрался -пик заголовка, и не влияет на результат поиска. Вы предоставляете страницу, которая соответствует идентификатору, а не слаг. Таким образом, ваш поиск эффективен (без сопоставления SQL LIKE) и менее подвержен ошибкам (инъекции SQL из неформатных слагов).
Что касается (возможно?) Вопроса о том, как преобразовать строку в слаг, есть много подходов к этому. Я бы просто удалил все не алфавитно-цифровые символы и совместил буквенно-цифровые фрагменты с тире или подчеркиванием. Возможно, вы хотите сократить длину строки до 20 символов.