[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разбор тега на составлящие
Эли4ка
Возник вопрос по регулярным выражениям-есть HTML-код следующего вида
<img src="/images/grafix/spacer.gif" alt="" width="140" height="3">

Но это правильный HTML-код,а ведь параметры могут стоят как угодно,например: src в конце,а alt наоборот впереди..
Есть регулярное выражение которое ищет только в правильном коде(то есть где scr стоит первым),а как сделать так ,чтобы у регулярного выражения не возникало сомнений насчет того,какой параметр стоит первым?

Код-
$count = preg_match_all('#<img\s+src\s*=\s*["']?#i', $content, $matches);

Спасибо :)



Спустя 44 минуты, 2 секунды (6.01.2012 - 07:23) Игорь_Vasinsky написал(а):
biggrin.gif а что ловим? стесняюсь спросить??? адрес картинки?

Спустя 1 час, 54 минуты, 43 секунды (6.01.2012 - 09:18) caballero написал(а):
есть масса html парсеров который разбирают в готовое DOM дерево

Спустя 1 час, 7 минут, 30 секунд (6.01.2012 - 10:26) Игорь_Vasinsky написал(а):
для чё? вытащить картинку со страницы??? laugh.gif не рацианально.

Эличка - заказанный тобой парсер картинок - давно уже продаётся на vasinsky.ru

Спустя 2 часа, 7 минут, 26 секунд (6.01.2012 - 12:33) Эли4ка написал(а):
caballero
мне надо свой,и те парсеры очень сложные..
Цитата
Эличка - заказанный тобой парсер картинок - давно уже продаётся на vasinsky.ru
- blink.gif blink.gif ,-я не заказывала парсер изображений...я парсер новостей заказывала...

Спустя 1 час, 19 минут (6.01.2012 - 13:52) caballero написал(а):
Цитата
мне надо свой,и те парсеры очень сложные..

какая разница насколько они сложные - важно чтобы было просты в использовании
а свой писать не имеет смысла и с вашим уровнем в ближайшие пару лет нереально

Спустя 10 минут, 4 секунды (6.01.2012 - 14:02) killer8080 написал(а):
Цитата (Эли4ка @ 6.01.2012 - 05:39)
Но это правильный HTML-код,а ведь параметры могут стоят как угодно,например: src в конце,а alt наоборот впереди..

А кто сказал что только так правильно? Атрибуты могут идти в любом порядке wink.gif

Спустя 5 часов, 51 минута, 20 секунд (6.01.2012 - 19:53) Winston написал(а):
$str = '<img src="/images/grafix/spacer.gif" alt="" width="140" height="3">
<img src="/images/grafix/test.gif" alt="" width="140" height="3">
<img src="/images/grafix/ololo.jpg" alt="" width="140" height="3">'
;

preg_match_all("#<img.*src=(?:\"|')(.*)(?:\"|').*>#isuU", $str, $match);

echo '<pre>'.htmlspecialchars(print_r($match, 1)).'</pre>';

Спустя 9 часов, 41 минута, 12 секунд (7.01.2012 - 05:35) Эли4ка написал(а):
Winston
это мой код подправленный?
а как мне указать в этом регулярном выражении что порядок атрибутов не имеет значение-например scr|alt ?
caballero
Вы так думаете? cool.gif

Спустя 12 часов, 55 минут, 58 секунд (7.01.2012 - 18:31) killer8080 написал(а):
Эли4ка
порядок не имеет значения, если нужно отловить только один атрибут. Если нужно несколько, то просто парсишь одной регуляркой тег, а другой разбираешь его на атрибуты.

Спустя 5 часов, 37 минут, 38 секунд (8.01.2012 - 00:08) Frost-56 написал(а):
ОФФтоп:
Эли4ка, девушка программист ? всё моя жена теперь будешь biggrin.gif

Спустя 6 часов, 41 минута, 44 секунды (8.01.2012 - 06:50) Nikitian написал(а):
Я конечно понимаю, что не по теме, но всё же зачем плакать и колоться кушая кактус, если можно любое свойство получить в одну строчку?

echo pq("img:first")->attr("src");

Ну зачем изобретать велосипеды и тратить на это столько времени? Ведь одной регуляркой вам не обойтись, придётся разбирать полученные данные от регулярки, предусмотреть все возможные кавычки, возможные дубли свойств...
По теме ничего не скажу, регулярками пользуюсь на ощупь методом copy-paste :)

Спустя 8 минут, 50 секунд (8.01.2012 - 06:59) Эли4ка написал(а):
Nikitian
согласна..
Цитата
Ну зачем изобретать велосипеды и тратить на это столько времени?
-просто ради интересна и получение бесценного опыта.. biggrin.gif
Цитата
Эли4ка, девушка программист ? всё моя жена теперь будешь biggrin.gif
- blink.gif blink.gif ,и вправду оффтоп..
killer8080
но ведь смотрите,если в моем регулярном выражении подсунуть код,в котором атрибуты будут стоят в другом порядке,то эта регулярка ничего не найдет.. unsure.gif

Спустя 1 день, 12 часов, 1 минута, 58 секунд (9.01.2012 - 19:01) killer8080 написал(а):
Цитата (Эли4ка @ 8.01.2012 - 05:59)
но ведь смотрите,если в моем регулярном выражении подсунуть код,в котором атрибуты будут стоят в другом порядке,то эта регулярка ничего не найдет..

поэтому я и сказал
Цитата (killer8080 @ 7.01.2012 - 17:31)
Если нужно несколько, то просто парсишь одной регуляркой тег, а другой разбираешь его на атрибуты.


Спустя 10 часов, 40 минут, 32 секунды (10.01.2012 - 05:41) Эли4ка написал(а):
killer8080
все поняла-спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.