Мне нужно найти лучший способ выбрать записи из db строкой, которая не соответствует точно строке в db.Выбор результатов неточным соответствием
Один хранится в БД:
So-Fi (S. 1st St. District), 78704 (South Austin), Bouldin Creek, South Congress
И один я должен соответствовать это:
$myArea = 'So-Fi-S-1st-St-District-78704-South-Austin-Bouldin-Creek-South-Congress';
в $ myArea на самом деле значение, взятое из БД и отформатирован для SEO- дружественный URL-адрес на другой странице.
Я попытался
SELECT* FROM t1 WHERE area = REPLACE('".$myArea."', '-', '')
Но ясно, что нет никакого совпадения. В принципе, поскольку я не могу приручить $ myArea и отформатировать его обратно к тому, что было в db.
Есть ли способ удалить все знаки препинания и оставить только буквенно-цифровые символы в db перед тем, как выбрать?
Вы можете использовать 'REPLACE', чтобы удалить знаки препинания. Этого будет достаточно? Является ли строка, в которой вы должны всегда совпадать в этом конкретном формате (просто отсутствует пунктуация)? –
Да, я на самом деле использую строку из db на другой странице, чтобы вычеркнуть пунктуацию и специальные символы, чтобы преобразовать ее в дружественный формат SEO, например ... Creek-South-Congress – santa
В этом случае используйте цепочку замены. См. Этот ответ здесь: http://stackoverflow.com/a/1671056/2022457 –