PCRE работающий паттерн не ловит символ

nkldn

Новичок
PCRE работающий паттерн не ловит символ

может быть такое что из-за виндоуз проблема с работой regexp??

шаблон

|1\. <a.*href=\".*\">.*</a>( - )<a.*href=\".*\">.*</a>|Ui"

не ловит паттерн в скобках в одном из 100 случаев. если его заменить на (.*) то выдаст тот же пробел тире пробел который я указывал в паттерне в скобках:




Код:
[1] => Array 
      
      [1] =>  -
 

DiMA

php.spb.ru
Команда форума
под виндой глючит только прокладка между стулом и клавиатурой, а не пхп

приведи полный-минимальный код, показывающий проблему
 

nkldn

Новичок
PHP:
preg_match_all("|1\. <a.*href=\".*\">.*</a>( - )<a.*href=\".*\">.*</a></td>|Ui",$result, $out);
PHP:
$result
- получен по curl.

в моём случае
PHP:
$out
- пустой массив.

вот конкретно эту строку он не ловит

Код:
1. <a href="/about/%D1%81-%D0%B2%D0%B0%D1%81%D1%8E%D1%82%D0%B0-%D0%B8-%D0%B3%D1%80-%D1%81%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8%D0%B9-%D1%81%D0%BE%D0%BD.htm">С. Васюта и гр. Сладкий сон</a> - <a href="/song/%D1%81-%D0%B2%D0%B0%D1%81%D1%8E%D1%82%D0%B0-%D0%B8-%D0%B3%D1%80-%D1%81%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8%D0%B9-%D1%81%D0%BE%D0%BD/%D0%BD%D0%B0-%D0%B1%D0%B5%D0%BB%D0%BE%D0%BC-%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%BB%D0%B5-%D1%8F%D0%BD%D0%B2%D0%B0%D1%80%D1%8F.htm">На белом покрывале января</a>
хотя если взять и скопировать её в файл на локалхосте - паттерн её словит !
 

basboy

Новичок
Результат, который отображает браузер не всегда соответствует тому, что приходит от сервера.

Смотри сорс код
 

nkldn

Новичок
basboy
так я source и смотрю и в нём как раз пробел_тире_пробел.

более того, я писал, когда я source копирую в строчку и уже прохожусь шаблоном по этой строчке - он ловит !!

если бы везде было, а то ведь работает шаблон нормально.

я уже заменил на

PHP:
<a.*href=.*>.*</a>(.{1,3})<a.*href=.*>.*</a>
то есть не
PHP:
( - )
a вообще
PHP:
(.{1,3})
и всё равно именно эту на этой странице(ах) не ловит.
 

nkldn

Новичок
cDLEON
регекспы придумали чтобы воровать?

такая ситуация может в сотне других случаях быть. вопрос же по шаблону
 

cDLEON

Онанист РНРСlub
<a href="/about/%D1%81-%D0%B2%D0%B0%D1%81%D1%8E%D1%82%D0%B0-%D0%B8-%D0%B3%D1%80-%D1%81%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8%D0%B9-%D1%81%D0%BE%D0%BD.htm">С. Васюта и гр. Сладкий сон</a> - <a href="/song/%D1%81-%D0%B2%D0%B0%D1%81%D1%8E%D1%82%D0%B0-%D0%B8-%D0%B3%D1%80-%D1%81%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8%D0%B9-%D1%81%D0%BE%D0%BD/%D0%BD%D0%B0-%D0%B1%D0%B5%D0%BB%D0%BE%D0%BC-%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%BB%D0%B5-%D1%8F%D0%BD%D0%B2%D0%B0%D1%80%D1%8F.htm">На белом покрывале января</a>
ХТМЛ придумали, ЧТО бы воровать?
 

nkldn

Новичок
ну просили конкретный пример. мог же и другое _сочинить_

причем тут к проблеме regexp ?
 

freeek

Новичок
извращенный пример патерны

"%(?<=>)(<a[^>]*(?=href)href=\W\/about\/.+\.htm\W[^>]*>[\w\W]+<\/a>)(?=\s\-\s)(?(1)(\s\-\s)(<a[^>]*(?=href)href=\W\/song\/.+\.htm[^>]*>[\w\W]+<\/a>))%iU";

по крайней мере

заихал 18 штук в код хтмл
все выдрал, опять же к тому что имеем, дальше модифицируем на свое усмотрение
 

cDLEON

Онанист РНРСlub
причем тут к проблеме regexp ?
Т.е. если бы ты написал "как пользоваться курлом, для того что бы своровать вот этот МП3 сайтик?" то проблема хитровыделанных воришек имела место быть, а если ты написал как выдирать линки с помощью регекспов, то это уже проблемы кражи контента не касается?
Забавная логика.
Может ну его нафиг...Сайт с наворованным контентом? Давай сразу в депутаты!
 

freeek

Новичок
ну почему, принципиально не факт что контент ворованный
это может быть что то, что на общих основаниях

кража контента, конечно, не есть гуд, но к сожалению от этого никто не застрахован
 

nkldn

Новичок
cDLEON
не mp3 сайтик а просто текст песни.
почему же хитровыделанных.. ничего тут заумного.

но всё-таки воровство и проблема regexp тут не связаны. проблема есть и она от сайта с текстами ну никак не зависит.

я же их никому не продаю. как я ворую.
 
Сверху