[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск фразы в html файле
Страницы: 1, 2
Gigabit
Добрый день! Помогите в вопросе

Допустим есть адрес сайта с описание продукта
Пример

В коде этой странице есть описание товара
<ul class="productDescription">
<li>формат - А4</li>
<li>белизна CIE - 146%</li>
<li>плотность бумаги - 80г/кв.м.</li>
<li>класс бумаги - С</li>
<li>листов в пачке - 500</li>
</ul>

Я буду записывать всю информацию которая находится в тэге <ul></ul>
но для этого мне нужно провести поиск на странице тега <ul> с классом productDescription
и после этого вытащить всю информацию находящееся в теге
<ul class="productDescription"></ul>
КАК ЭТО СДЕЛАТь подскажите немного
Игорь_Vasinsky
подсказка - как ты и просил:
это называется парсинг, использовать для парсинга можно либо regexp, либо готовые библии, например simple html dom

_____________
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
Gigabit
а как это сделать с preg_match?
Игорь_Vasinsky
используя регулярные выражения.

примеры паттерна

#[a-z]#i
#<a hreh=\"([^>].*)\">#us

и т.д.

читаем http://www.php.net/manual/ru/reference.pcr...tern.syntax.php

_____________
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
Gigabit
В моем случае это должно быть так. но чет не выводит ни чего


$sContent = '<ul class="productDescription">
<li>формат - А4</li>
<li>белизна CIE - 146%</li>
<li>плотность бумаги - 80г/кв.м.</li>
<li>класс бумаги - С</li>
<li>листов в пачке - 500</li>
</ul>'
;

if (preg_match_all('|<ul>(.+?)</ul>|isU', $sContent, $arr))

{

echo $arr[0];

}








Игорь_Vasinsky
или так?

$sContent = '<ul class="productDescription">
<li>формат - А4</li>
<li>белизна CIE - 146%</li>
<li>плотность бумаги - 80г/кв.м.</li>
<li>класс бумаги - С</li>
<li>листов в пачке - 500</li>
</ul>'
;

if (preg_match_all('#<ul class="productDescription">(.*)</ul>#is', $sContent, $arr))

{

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

}


_____________
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
Gigabit
а если я хочу указать источник где искать эти данные ссылкой, то есть так




$sContent = 'http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%91%D1%83%D0%BC%D0%B0%D0%B3%D0%B0_SvetoCopy__%D0%904_80%D0%B3_%D0%BC_500%D0%BB_?ajax=1';

if (preg_match_all('#<ul class="productDescription">(.*)</ul>#is', $sContent, $arr))

{

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

}



То мне надо подгружать контент по этому URLу а потом искать данные? если так, то можно ли подгружать код html страницы php языком? и как? как на ajax я знаю а на php нет
Игорь_Vasinsky
$content = file_get_contents('http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%91%D1%83%D0%BC%D0%B0%D0%B3%D0%B0_SvetoCopy__%D0%904_80%D0%B3_%D0%BC_500%D0%BB_?ajax=1');


Цитата
как на ajax я знаю

браво))

_____________
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
Gigabit
издеваешься?)))
Игорь_Vasinsky
получаешь в переменную контент с удалённой страницы и парсишь.

где издёвка?

_____________
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
Gigabit
Цитата

Цитата
Цитата
как на ajax я знаю


браво))

Я насчет этого.

А почему то я не получаю удаленно эту страницу
Gigabit
ссылка выглядит вот так http://bumaga-s.ru/товар/Бумага_SvetoCopy_..._м_500л_?ajax=1

и так тоже не катит
http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B...0%D0%BB_?ajax=1
Gigabit
Все вопрос решен))
Gigabit
Я хотел тебе поставить +1 в карму но Админи мне запретили)) Санкции против меня))
Игорь_Vasinsky
function getData($url){
$url = urldecode($url);
$content = file_get_contents($url);

preg_match_all('#<ul class="productDescription">(.*)</ul>#is', $content, $data);

return isset($data[1][0]) ? $data[1][0] : false;
}

$data = getData('http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%91%D1%83%D0%BC%D0%B0%D0%B3%D0%B0_SvetoCopy__%D0%904_80%D0%B3_%D0%BC_500%D0%BB_?ajax=1');

if($data !== false){
echo '<ul>'.$data.'</ul>';
}


_____________
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
Быстрый ответ:

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