[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения
bposter
Добрый вечер, как получить значения тега td после ссылки sait2.ru ?


$a = '<td class="b-cy_name"><a href="http://sait1.ru/">"Ссылка</a></td>
<td>4302</td>

<td class="b-cy_name"><a href="http://sait2.ru/">Ссылка</a></td>
<td>4300</td>
'
;



preg_match("/([0-9]{1,1000})<\/td>/is",$a, $pars);


echo $pars[1];


Сейчас выдает значение из тега td после sait1.ru

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
bposter
Сделал так, почти то, не могу догнать как добавить что еще тег td открывающий должен быть


$a = '<td><a href="http://sait.ru/">1</a></td>
<td>4302</td>

<td><a href="http://sait2.ru/">2</a></td>
<td>4300</td>
'
;

$url = 'sait2';

preg_match("/".$url."(.*)<\/td>/",$a, $pars);


echo $pars[1];


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
bposter
Помогите кто шарит с регулярками не сталкивался еще.

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
curious
		$mathes = array();
preg_match_all('/< *td *>(\d*)< *\/ *td *>/iu', $a, $mathes);

echo '<pre>';
print_r($mathes);
echo '</pre>';

$mathes2 = array();
preg_match_all('/<a *href *= *\"http\:\/\/sait2\.ru\/\" *>\w*< *\/ *a *>< *\/ *td *>\s*< *td *>(\d*)< *\/ *td *>/ui', $a, $mathes2);

echo '<pre>';
print_r($mathes2);
echo '</pre>';


Работать - вроде работает, но сомневаюсь что правильно написано...
bposter
Выдает масив


Array
(
[0] => Array
(
[0] => 4302
[1] => 4300
)

[1] => Array
(
[0] => 4302
[1] => 4300
)

)

Array
(
[0] => Array
(
)

[1] => Array
(
)

)


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
curious
Array
(
[0] => Array
(
[0] => 4302
[1] => 4300
)

[1] => Array
(
[0] => 4302
[1] => 4300
)

)

Array
(
[0] => Array
(
[0] => Ссылка
4300
)

[1] => Array
(
[0] => 4300
)

)

у меня так...хз почему
bposter
Спасибо уже хоть что то, мне тут посоветовали посмотреть в сторону Simple HTML DOM, я вот думаю стоит подключать эту библиотеку или хватит регулярки?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
curious
я не работал с ней, но попробуй. Пишут что вроде как достаточно легка в освоении.. Одно знаю что регулярки далеко не всегда наилучшее решение.
Invis1ble
Цитата (bposter @ 27.10.2013 - 09:41)
Помогите кто шарит с регулярками не сталкивался еще.

"Регулярные выражения. Дж.Фридл" - читай, просвещайся.

PS. А по теме - Simple HTML DOM вполне подойдет, а если HTML валидный, то я б делал нативными парсерами http://www.php.net/manual/ru/refs.xml.php

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

bposter
Подключил в чистый файл Simple HTML DOM и с ходу косяки посыпались :angry:



include 'simple_html_dom.php'; // подключаем Simple HTML DOM



$html = '<html><body><td id="b-cy_name"><a href="http://sait1.ru/">"Ссылка</a></td>
<td>4302</td>

<td class="b-cy_name"><a href="http://sait2.ru/">Ссылка</a></td>
<td>4300</td></body></html>
'
;


$ret = $html->find('a');


Fatal error: Call to a member function find() on a non-object in Z:\home\curl.ma\www\index.php on line 23

Как такое может быть что функции нету?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
curious
$html = file_get_html('test.html'); // создание объекта, указывая html файл
$ret = $html->find('a'); // находим все ссылки



по первой же ссылке habrahabr.ru/post/114143/


зы
include('simple_html_dom.php'); // подключаем Simple HTML DOM

$html = str_get_html('<html><body>Hello!</body></html>'); // создание объекта с помощью строки

$html = file_get_html('http://www.google.com/'); // создание объекта по ссылке

$html = file_get_html('test.html'); // создание объекта, указывая html файл
bposter
Цитата (curious @ 27.10.2013 - 09:09)
$html = file_get_html('test.html'); // создание объекта, указывая html файл
$ret = $html->find('a'); // находим все ссылки



по первой же ссылке habrahabr.ru/post/114143/


зы
include('simple_html_dom.php'); // подключаем Simple HTML DOM

$html = str_get_html('<html><body>Hello!</body></html>'); // создание объекта с помощью строки

$html = file_get_html('http://www.google.com/'); // создание объекта по ссылке

$html = file_get_html('test.html'); // создание объекта, указывая html файл

Я на habrahabr.ru был от туда и брал примеры подключения и использования

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Быстрый ответ:

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