<li><a href="tra.html" title="tra ta ta">
<img src="http://ololo.jpg" width="160" height="120" alt="tra ta ta"
Есть такой код я пытаюсь вытащить
tra.html
tra ta ta
http://ololo.jpgпишу ему
preg_match_all('|<li><a.* href="(.*)" title="(.*)"><img src="(.*)" width="160"|isU',$page,$matches);
print_r($matches);
А оно не выводит пустые массивы не могу понять в чем проблема и то всего два массива на странице их куча таких ссылок.
методом тыка вяснил что проблема в "160" в конце но не понимаю почему?
Игорь_Vasinsky
18.10.2012 - 16:52
урл вытаскивай отдельно и титл вытаскивай отдельно
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
18.10.2012 - 16:54
Между <a href="tra.html" title="tra ta ta"> и <img src="http://ololo.jpg", есть пробельные символы, а в регулярке это не учтено.
Цитата (Игорь_Vasinsky @ 18.10.2012 - 12:52) |
урл вытаскивай отдельно и титл вытаскивай отдельно |
шаблон то один и главное в нем как раз эти три цифры
Цитата (killer8080 @ 18.10.2012 - 12:54) |
Между <a href="tra.html" title="tra ta ta"> и <img src="http://ololo.jpg", есть пробельные символы, а в регулярке это не учтено. |
да ставил я там и точку тоже все равно толку нет
Игорь_Vasinsky
18.10.2012 - 18:08
Цитата |
title="(.*)"><img src="(.*)" |
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 18.10.2012 - 14:08) |
Цитата | title="(.*)"><img src="(.*)" |
|
не понял
kristall
18.10.2012 - 18:38
preg_match_all('#(?:alt|href|src|title)="([^"]*)"#',$page,$matches);
_____________
echo '<pre>',print_r($var, 1);die;
root@server# make love && war
интересный способ спасибо
killer8080
18.10.2012 - 19:01
Цитата (sx000 @ 18.10.2012 - 16:49) |
да ставил я там и точку тоже |
а надо было
\s*, а не точку
я часть отсек симпл домом ... через одно место но работает :)
$imgs = $html->find('a');
foreach ($imgs as $i){
if (eregi('ku',$i) and eregi('/meeee/',$i)){
preg_match_all('#(?:alt|href|src|title)="([^"]*)"#',$i,$matches);
$urls_image[] = $matches;
}
}
killer8080
18.10.2012 - 21:05
sx000А ты в курсе что ereg функции уже давно объявлены deprecated?
ну вот вариант
$t = '<li><a href="tra.html" title="tra ta ta">
<img src="http://ololo.jpg" width="160" height="120" alt="tra ta ta"
';
preg_match_all('#<li>\s*<a[^>]+href="(.*)"[^>]+title="(.*)".*>\s*<img[^>]+src="(.*)"#isU', $t, $m);
echo '<pre>'.htmlspecialchars(print_r($m, 1)).'</pre>';
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.