Программирование > Регулярные выражения
Русский алфавит в регулярных выражениях
(1/1)
Frame:
Всем привет :) Прошу не посылать меня к справочникам, я и так 2 дня над ними сидел, но так и не понял нефига :(
Возникла такая проблема:
Для изменения всех ссылок пхп файлов на хтмл файлы, в выводимой странице, есть 2 массива, в первом содержаться ссылки вида "\'(?<!/)gate.html\\?name=Melody&file=search&query=([a-zA-Z0-9]*)&cat_id=([0-9]*)&type=files\'",
и заменяться они должны функцией preg_replace на ссылку вида "melody_search_\\\\2_\\\\1_\\\\3.html",
Если человек ввел в поиске русские символы, и в результате оказалось много подходящих записей, то результат поиска разбивается на несколько страниц и выводится ссылка, указывающая на следующую страницу. Выглядит она так gate.html?name=Melody&file=search&query=он&cat_id=&type=&pagenum=2 В ней, как видно, запрос на русском и не соответствует [a-zA-Z0-9], и соответственно замена не будет произведена.
Как написать правильно выражение проверки :confused:
Можно еще закодировать урл, тогда запрос примет вид gate.html?name=Melody&file=search&query=%EE%ED&cat_id=&type=&pagenum=2. Но все равно, с заменой у меня не получилось.
Помогите пожалуйста :p
Yukko:
[a-zA-Z0-9а-яА-Я]
не пробовал?
--- Цитировать ---Frame:
не посылать меня к справочникам, я и так 2 дня над ними сидел, но так и не понял нефига
--- Конец цитаты ---
Попробуй почитать статьи:
http://www.webscript.ru/stories/04/06/25/6006996
http://www.webscript.ru/stories/04/06/29/9711672
Frame:
А в .htaccess если я напишу [a-zA-Z0-9а-яА-Я] apache ругаться не будет?
Yukko:
--- Цитировать ---Frame:
А в .htaccess если я напишу [a-zA-Z0-9а-яА-Я] apache ругаться не будет?
--- Конец цитаты ---
а ты попробуй!
Навигация
Перейти к полной версии