ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #971  
Старый 02.02.2010, 17:34
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от dimash  
Доброго,
Помогите вспомнить основы.
Регулярные выражения я разберу, есть откуда почитать. Суть в другом, в самом принципе работы.

Например, когда мы преобразовываем ссылку
Код HTML:
www.yoursite.com/script.php?product=123
к виду
Код HTML:
 www.yoursite.com/cat/product/123/

мы используем выражение
PHP код:
RewriteRule cat/(.*)/(.*)/$ /script.php?$1=$


Правильно ли понимаю, что изначально мы смотрим и пишем /script.php?$1=$2, то есть вторую часть, изначальную свою ссылку. Затем мы прописываем первую часть cat/(.*)/(.*)/$ и каждая переменная (в нашем случае $1, $2) (последовательно, слева направо?) идет прописываться в каждую круглую скобку? Вот, и какую роль тогда здесь играют регулярные выражения?
Это регулярное выражение говорит нам,что если, было обращение к например:
Код:
http://site.com/cat/33/4234/
Аппач автоматически внутри системы сделает перенаправление этого запроса в:
Код:
http://site.com//script.php?33=4234
То есть, говорят простыми словами,в первом выражении указываеться маска для запроса,какие запросы обрабатывать, вторым параметром являеться "куда пренаправлять",и там используются уже привычные в regEXP цифровые-переменные.Переменные идут в порядке слева на право.Как пример:
PHP код:
RewriteRule cat/(.*)/(.*)/param/([0-9]+)/$ /cat.php?$1=$2&params=$
Делаем обращение к скрипту:
Код:
htto://site.com/cat/A1/B1/param/777/
Мы увидим тоже самое,что и при запросе:
Код:
htto://site.com/cat.php?A1=B1&params=777
Все просто.
 
Ответить с цитированием

  #972  
Старый 02.02.2010, 23:52
Аватар для dimash
dimash
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме:
41875

Репутация: 4
По умолчанию

Цитата:
Сообщение от m0Hze  
Это регулярное выражение говорит нам,что если, было обращение к например:
Код:
http://site.com/cat/33/4234/
Аппач автоматически внутри системы сделает перенаправление этого запроса в:
Код:
http://site.com//script.php?33=4234
То есть, говорят простыми словами,в первом выражении указываеться маска для запроса,какие запросы обрабатывать, вторым параметром являеться "куда пренаправлять",и там используются уже привычные в regEXP цифровые-переменные.Переменные идут в порядке слева на право.Как пример:
PHP код:
RewriteRule cat/(.*)/(.*)/param/([0-9]+)/$ /cat.php?$1=$2&params=$
Делаем обращение к скрипту:
Код:
htto://site.com/cat/A1/B1/param/777/
Мы увидим тоже самое,что и при запросе:
Код:
htto://site.com/cat.php?A1=B1&params=777
Все просто.
Благодарю за ответ. Странно вообще-то получается. Я хочу site.com/cat.php?A1=B1&params=777 с помощью RewriteRule переименовать в site.com/catalog/firma/obelisk/index.html (просто как пример), а вы говорите что RewriteRule делает абсолютно противоположную задачу. Верно? Как достигнуть моей цели?
 
Ответить с цитированием

  #973  
Старый 03.02.2010, 00:14
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от dimash  
Благодарю за ответ. Странно вообще-то получается. Я хочу site.com/cat.php?A1=B1&params=777 с помощью RewriteRule переименовать в site.com/catalog/firma/obelisk/index.html (просто как пример), а вы говорите что RewriteRule делает абсолютно противоположную задачу. Верно? Как достигнуть моей цели?
Вы ничего не поняли
Гугле->Регулярные выражения PHP
 
Ответить с цитированием

  #974  
Старый 03.02.2010, 19:48
Аватар для dimash
dimash
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме:
41875

Репутация: 4
По умолчанию

Цитата:
Сообщение от m0Hze  
Вы ничего не поняли
Гугле->Регулярные выражения PHP
Я понял задом-наперед. Хорошо.
Как мне можно добиться такого результата
Сейчас ссылка index.php?action=company&lang=ru
Мне надо /ru/company.html
 
Ответить с цитированием

  #975  
Старый 03.02.2010, 20:00
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от dimash  
Я понял задом-наперед. Хорошо.
Как мне можно добиться такого результата
Сейчас ссылка index.php?action=company&lang=ru
Мне надо /ru/company.html
PHP код:
^([a-zA-Z]+)/(.*)\.html index.php?action=$2&lang=$
 
Ответить с цитированием

  #976  
Старый 03.02.2010, 20:08
Аватар для dimash
dimash
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме:
41875

Репутация: 4
По умолчанию

Цитата:
Сообщение от m0Hze  
PHP код:
^([a-zA-Z]+)/(.*)\.html index.php?action=$2&lang=$
[a-zA-Z]+ можно [a-Z]+
А почему первое выражение было [a-zA-Z], а второе (.*)
 
Ответить с цитированием

  #977  
Старый 03.02.2010, 20:09
Аватар для mr.The
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме:
4778940

Репутация: 1257


Отправить сообщение для mr.The с помощью ICQ
По умолчанию

У меня есть куча select'ов:
Код HTML:
<select id='w1'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>

<select id='w2'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>

<select id='w3'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>
Мне нужно получить все option у select'a с id=w2. Это можно сделать одной регуляркой?
 
Ответить с цитированием

  #978  
Старый 04.02.2010, 14:10
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Как сделать редирект с любго поддомена на страницы сайта?
к примеру, с 1234.site.ru нa site.ru/1234
при этом поддомены в панельке создавать по условию нельзя и поддомен может быть любым
 
Ответить с цитированием

  #979  
Старый 04.02.2010, 16:14
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от mr.The  
У меня есть куча select'ов:
Код HTML:
<select id='w1'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>

<select id='w2'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>

<select id='w3'>
option value='1' >1</option>
option value='2' >2</option>
option value='3' >3</option>
</select>
Мне нужно получить все option у select'a с id=w2. Это можно сделать одной регуляркой?
PHP код:
$text "
<select id='w2'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>"
;
preg_match("#id='w2'>(.*)<\/select>#s"$text$match);
echo 
strip_tags($match[1]); 
 
Ответить с цитированием

  #980  
Старый 04.02.2010, 16:15
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от wildshaman  
Как сделать редирект с любго поддомена на страницы сайта?
к примеру, с 1234.site.ru нa site.ru/1234
при этом поддомены в панельке создавать по условию нельзя и поддомен может быть любым
В панеле включить "автоподдомены" а будет автоматом делаться именно так.

Или аппаче_хост рулить.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[Lan] Задай вопрос - получи ответ! sedoy_xxx АнтиАдмин 133 31.03.2010 08:35
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/WPAN/WLAN 2 02.11.2008 00:40
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ