HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 12.01.2009, 22:24
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

PREG_SET_ORDER
PREG_OFFSET_CAPTURE

http://ru2.php.net/manual/ru/function.preg-match-all.php
 
Ответить с цитированием

  #2  
Старый 12.01.2009, 22:34
Malunga
Новичок
Регистрация: 03.09.2008
Сообщений: 13
Провел на форуме:
12708

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

w.u.n., огромное спасибо!!!! то что нужно)))

Pashkela, если ты не понял то не надо ничего писать...
 
Ответить с цитированием

  #3  
Старый 12.01.2009, 22:36
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

Цитата:
Сообщение от Malunga  
w.u.n., огромное спасибо!!!! то что нужно)))

Pashkela, если ты не понял то не надо ничего писать...
ты дурак? Посмотри на код, что тебе дали

ЗЫЖ Расплодили даунов

Смотри на мою мессагу и смотри на предложенный код, попробуй найти совпадения
 
Ответить с цитированием

  #4  
Старый 12.01.2009, 22:46
Malunga
Новичок
Регистрация: 03.09.2008
Сообщений: 13
Провел на форуме:
12708

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

Цитата:
Сообщение от Pashkela  
ты дурак? Посмотри на код, что тебе дали

ЗЫЖ Расплодили даунов

Смотри на мою мессагу и смотри на предложенный код, попробуй найти совпадения
Ты полегче с выражениями, не надо корчить из себя крутого.
То что ты дал это флаги управления форматом вывода, и это никак не относится к моему вопросу.
Я больше не собираюсь с тобой проводить какие-то перепалки, тема не для этого.
 
Ответить с цитированием

  #5  
Старый 12.01.2009, 22:49
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

ты реально туп, приятель, еще бы мне тратить время на даунов всяческих

Для обезьян:

Цитата:
PREG_SET_ORDER
PREG_OFFSET_CAPTURE
http://ru2.php.net/manual/ru/function.preg-match-all.php
Цитата:
while(preg_match('/<a.*?>(.*?)<\/a>/',$text,$m,PREG_OFFSET_CAPTURE,$p)) {
отдыхайте, молодой человек, нежно посасывая в уголке.

ЗЫЖ Думай, потом пиши, дурачок
 
Ответить с цитированием

  #6  
Старый 12.01.2009, 22:56
Malunga
Новичок
Регистрация: 03.09.2008
Сообщений: 13
Провел на форуме:
12708

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

Ты в своём уме вообще?
Одним флагом тут ничего не решается, так что ты снчала подумай, а потом печатай.
А то складывается дурное впечатление о твоём профессионализме, дружок!
 
Ответить с цитированием

  #7  
Старый 12.01.2009, 22:59
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Базар свой прекращаем, бабки! Сидят тут пальцы гнут друг перед другом.
Вы оба не отличаетесь особым профессионализмом.
Так что переносим споры в пм, аську, куда угодно, а тему оставляем для регулярок)
 
Ответить с цитированием

  #8  
Старый 12.01.2009, 22:59
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

delete

Последний раз редактировалось Pashkela; 16.01.2009 в 18:31..
 
Ответить с цитированием

MultiViews и mod_rewrite — два вопроса
  #9  
Старый 16.01.2009, 18:18
jabber
Новичок
Регистрация: 16.01.2009
Сообщений: 3
Провел на форуме:
2080

Репутация: 3
По умолчанию MultiViews и mod_rewrite — два вопроса

Постигая мудрость фреймворков, обнаружил невиданную ранее особенность:

URL вида
http://localhost/222/front .php
работал также при добавлении в конец слеша и любого мусора
http://localhost/222/front .php/dfojdofjso

В моём представлении такой URL мог соответствовать исключительно одной ситуации — наличии каталога с именем front.php и файла без расширения с именем dfojdofjso.

Озадаченный подобным казусом я полез на форум с вопросом «как такое может быть?». Мне сказали что дело в некой неизвестной мне тогда директиве MultiViews. Я обрадовался и закрыл тему, но поспешил. Оказалось, что эта директива всего лишь разрешает писать URL вида (1) вместо (2):

1) http://localhost/222/front
2) http://localhost/222/front .php

А ссылка вида
http://localhost/222/front .php/dfojdofjso
cпокойно работает при отключённом MultiViews!!! Вот что печатает этот скрипт:

REQUEST_URI => /222/front.php/dfdf
SCRIPT_NAME => /222/front.php
PHP_SELF => /222/front.php/dfdf
SCRIPT_FILENAME => z:/home/localhost/www/222/front.php

Я успокоил себя тем, что апач находит файл front.php и, рассудив, что это и есть его цель, выдаёт страницу. Т.е. поместил проблему в чёрный ящик.
Далее я создал .htaccess с таким содержимым:

RewriteEngine on
RewriteRule ^(.*)$ front\.php/dfojdofjso [L]


Т.е полагается переадресовывать любой запрос на front.php с мусором после слеша. Я ожидал один из двух вариантов:
1) сработает, как и при вводе URL http://localhost/222/front.php/dfojdofjso
2) не сработает и выдаст ошибку 404

Далее я проверил URL:
http://localhost/222/dfojdofjso.php
но результат оказался иным — произошла 500-я ошибка, а по логам — зацикливание.

Тут можно было бы обложится мануалами и разбираться в чём суть, но я продолжил эксперименты и получил во много раз более парадоксальную ситуацию. Изменённый .htaccess

RewriteEngine on
RewriteCond $1 !^front\.php
RewriteRule ^(.*)$ front\.php/sdfsdf [L]


И... это заработало. Заработало как в случае совпадения с front\.php, так и в случае несовпадения!

1) http://localhost/222/front.php
REQUEST_URI => /222/front.php
SCRIPT_NAME => /222/front.php
PHP_SELF => /222/front.php
SCRIPT_FILENAME => z:/home/localhost/www/222/front.php

2) http://localhost/222/dfojdofjso .php
REQUEST_URI => /222/dfojdofjso.php
SCRIPT_NAME => /222/front.php
PHP_SELF => /222/front.php/sdfsdf
SCRIPT_FILENAME => z:/home/localhost/www/222/front.php

Т.е добавление условия заставило нерабочее правило работать как в случае выполнения условия (1), так и в случае невыполнения условия (2), чего, по идее, быть не может. Вообще, я предпочитаю разбираться во всём самостоятельно, однако данная ситуация разорвала мой мозг поэтому приходится просить помощи снова. Общее представление как работает mod rewrite я имею, поэтому прошу не отсылать меня к абстрактной документации.

На всякий случай сформулирую вопросы:

1) Как же всё-таки URL вида
http://localhost/222/front.php/dfojdofjso
при наличии файла front.php работает при отключённом MultiViews?

2) Самый главный вопрос — почему правило

RewriteEngine on
RewriteRule ^(.*)$ front\.php/sdfsdf [L]


вызывает зацикливание независимо от URL, а правило

RewriteEngine on
RewriteCond $1 !^front\.php
RewriteRule ^(.*)$ front\.php/sdfsdf [L]


не вызывает зацикливания, опять таки независимо от URL?

Прошу прощения за длинный пост
 
Ответить с цитированием

  #10  
Старый 16.01.2009, 18:43
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

Цитата:
RewriteRule обратные_связи: Это обратные связи вида

$N

(0 <= N <= 9) предоставляющие доступ к сгруппированным частям (в круглых скобках!) шаблона из соответствующей директивы RewriteRule (единственной, следующей сразу за текущим набором директив RewriteCond).

.........

Условие это шаблон условия, т.е., какое-либо регулярное выражение применяемое к текущему экземпляру СравниваемаяСтрока, т.е., СравниваемаяСтрока просматривается на поиск соответствия Условие.

Помните: Условие это perl совместимое регулярное выражение с некоторыми дополнениями:

Вы можете предварять строку шаблона префиксом '!' (восклицательный знак) для указания несоответствия шаблону.
http://htaccess.net.ru/doc/mod_rewrite/RewriteCond.php

т.е. у тебя типо получается если НЕ " ^front\.php", то

"^(.*)$" из строки "RewriteRule ^(.*)$ front\.php/sdfsdf [L]"

а то, что справа от "^(.*)$" - просто игнорируется, я так понял

ЗЫЖ Потому то, что справа от "^(.*)$" - ерунда какая-то
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/Wi-Fi/Wardriving 2 02.11.2008 00:40



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


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




ANTICHAT ™ © 2001- Antichat Kft.