X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
> Помогите с регуляркой
sergsam1
sergsam1
Topic Starter сообщение 16.2.2011, 9:14; Ответить: sergsam1
Сообщение #1


Хочу спарсить первую картинку на гугл картинках, код там такой:

imgres?imgurl\x3dhttp://www.themovieblog.com/wp-content/uploads/2008/10/poster-bedtime-stories.jpg\x26imgrefurl

Я делаю так:

preg_match('/imgres?imgurl\\x3d([^>]+)\\x26imgrefurl/', $result, $img);

Получается пустой массив. В чем может быть дело?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
сообщение 16.2.2011, 16:43; Ответить: danisimo
Сообщение #2


preg_match('/imgres\?imgurl\\x3d(http.{1,200})\\x26imgrefurl/U', $result, $img);


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
raznaya
raznaya
сообщение 17.2.2011, 0:28; Ответить: raznaya
Сообщение #3


Вы хоть поясните про что вы.


--------------------
Хочу научиться заработку в интернете.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 18.2.2011, 23:32; Ответить: Pepper
Сообщение #4


(sergsam1 @ 16.2.2011, 8:14) *
preg_match('/imgres?imgurl\\x3d([^>]+)\\x26imgrefurl/', $result, $img);


На логику не проверял, но как минимум ошибка в знаке вопроса, т.к. он является спец. символом.

preg_match('/imgres?imgurl\\x3d([^>]+)\\x26imgrefurl/', $result, $img);

... и причем здесь [^>]+ ? где там знак больше?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sergsam1
sergsam1
Topic Starter сообщение 21.2.2011, 20:48; Ответить: sergsam1
Сообщение #5


Спасибо с этим вопросом я разобрался. Использовал вот такой вариант "/:\",\"([^\"]*)\"/sU". Работает.

Еще есть вопрос. Допустим мне надо взять текст между следующими тегами (это пример):

<td class="locality" style="">

(текст который мне нужен)

<h2><span class="editsection">

(текст который мне НЕ нужен)

<h2><span class="editsection">

Как видите тут конец выражения не однозначен, поэтому на выходе имеется текст который мне не нужен, как сделать чтобы спарсился только нужный текст?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 21.2.2011, 21:05; Ответить: webpavilion
Сообщение #6


(sergsam1 @ 21.2.2011, 19:48) *
как сделать чтобы спарсился только нужный текст?

html парсить регулярками глупо, они не для того совсем simplexml попробуйте или его более сложные аналоги.


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dibility
dibility
сообщение 21.2.2011, 21:11; Ответить: dibility
Сообщение #7


или вообще строковыми обрезай и не мучайся.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sergsam1
sergsam1
Topic Starter сообщение 21.2.2011, 21:16; Ответить: sergsam1
Сообщение #8


можно пример?

(webpavilion @ 21.2.2011, 20:05) *
html парсить регулярками глупо, они не для того совсем simplexml попробуйте или его более сложные аналоги.


А есть xml у википедии?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dibility
dibility
сообщение 21.2.2011, 21:25; Ответить: dibility
Сообщение #9


$text=explode('<td class="locality" style="">',$html);
$text=explode('<h2><span class="editsection">',$text[1]);
$text[0] //= (текст который мне нужен)


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 21.2.2011, 22:48; Ответить: webpavilion
Сообщение #10


(sergsam1 @ 21.2.2011, 20:16) *
А есть xml у википедии?
А какая разница? почитайте документацию: http://ru.php.net/manual/en/book.simplexml.php

dibility, в $text[0] будет лежать и остальная часть страницы, уж лучше регулярками чем такой изврат.


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2340 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12462 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3351 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 18.4.2024, 16:45
Дизайн