PHP: $val='Автор: <a href="mailto:%C3%8D%C3%A5%C3%A8%C3%A7%C3%A2%C3%A5%C3%B1%C3%B2%C3%A5%C3%AD">Aleksey</a>'; $rxp='/^(Автор:)(.+)(a>)$/'; $res=preg_match($rxp,$val,$Word); так работает, те $res==true и $Word[0] - Возвращает то, что нужно: Автор: <a href= "mailto:%C3%8D%C3%A5%C3%A8%C3%A7%C3%A2%C3%A5%C3%B1%C3%B2%C3%A5%C3%AD"> Aleksey</a> а если : $ PHP: config=array('ident' => TRUE, 'char-encoding' => win1251, 'input-encoding' => win1251, 'output-encoding' => win1251); $link="http://www.xakep.ru/post/49795/default.asp"; $tidy=new tidy; $rs=$tidy->parseFile($link,$config); $val=$node->value; $rxp='/^(Автор:)(.+)(a>)$/'; $res=preg_match($rxp,$val,$Word); res==false, хотя полученный текст html - документа содержит : HTML: Автор: <a href= "mailto:%C3%8D%C3%A5%C3%A8%C3%A7%C3%A2%C3%A5%C3%B1%C3%B2%C3%A5%C3%AD"> Aleksey</a> только с разрывами строк после href= и перед Aleksey почему не работает regexp?
сорри, пропустил в примере кода строку : PHP: config=array('ident' => TRUE, 'char-encoding' => win1251, 'input-encoding' => win1251, 'output-encoding' => win1251); $link="http://www.xakep.ru/post/49795/default.asp"; $tidy=new tidy; $rs=$tidy->parseFile($link,$config); $node=$tidy->Body(); $val=$node->value; $rxp='/^(Автор:)(.+)(a>)$/'; $res=preg_match($rxp,$val,$Word);
можно посмотреть исходный код : http://www.xakep.ru/post/49795/default.asp $val == исходному коду по приведенному url - проверено те по echo $val отображается точно такая страничкана