pavlGleb
20.05.2014 - 12:11
Всем привет! Подскажите как правильно составить регулярное выражение. Что то туго они до меня доходят.
Есть такой HTML:
<table border="0" style="width: 100%;" class="protable">
<tbody>
<tr>
<td width="33%" valign="middle" align="left">
<strong>Цена: </strong>
40.00 руб
</td>
</tr>
</tbody>
</table>
Нужно достать просто цену, саму цифру. Пишу вот такое регулярное выражение:
preg_match('/<td .*?>[\S\s]*? <strong>[\S\s]*?<\/strong>[\S\s]*?<\/td>/ixu', $product_table, $product_price);
Он достает Полностью все что в теге <td>: Цена: 40.00 И в конеце почему то ставит скобку )
Помогите пожалуйста. Всем спасибо за вниманеи
Игорь_Vasinsky
20.05.2014 - 12:17
так пойдёт?
_____________
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
Winston
20.05.2014 - 12:20
preg_match('#<td[^>]+>.*\b([\d.]++)\b.*</td>#isuU', $product_table, $product_price);
echo $product_price[1];
pavlGleb
20.05.2014 - 12:30
Что не срабатывает.((
Игорь_Vasinsky
20.05.2014 - 12:39
может вы не в юникоде работаете? тогда модификатор u - убрать.
_____________
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
pavlGleb
20.05.2014 - 12:50
Цитата (Игорь_Vasinsky @ 20.05.2014 - 12:17) |
так пойдёт? |
А разве в начале не надо указать открывающий тег td? Например вот так
/<td .*?>
Игорь_Vasinsky
20.05.2014 - 12:53
да не) не обязательно) там и так в внутри много чего идентифицирующего.
_____________
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
pavlGleb
20.05.2014 - 12:57
Спасибо за помощь сделал вот так:
preg_match('/<td .*?>[\S\s]*? <strong>[\S\s]*?<\/strong>[\S\s]*?<\/td>/ixu', $product_table, $product_price);
$product_price = str_replace('Цена:','', $product_price);
Просто времени мало надо быстрее решать проблему. С регуляркой буду разбираться.
pavlGleb
20.05.2014 - 12:58
Еще вопросик маленький могу при пощи регулярки найти тег <td colspan="3"> и вытащить все что в нем?
Игорь_Vasinsky
20.05.2014 - 13:02
покажите html кусок и что вы хотите вытащить
_____________
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
pavlGleb
20.05.2014 - 13:06
<td colspan="3"><hr>
<p><strong><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;">Аламбик Alquitara 50 литров</span></span></strong></p>
<p><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;">Несмотря на большую емкость, прибор выглядит компактно и занимает мало места. Все узлы собраны в пирамиду. Назначение Alquitar – дистилляция самогона, приготовление фруктово-ягодных водок или эфирных масел.</span></span></p>
<p><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;"><a href="125-alambiki-alguitar.html">Alquitar </a>– это старинный аламбик, изготовленный в античном стиле. Он похож на остальные виды, то есть изготовлен из меди вручную, имеет округлые формы и служит для дистилляции различных продуктов.</span></span></p>
<p><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;">Однако Alquitar отличается компактностью, все его узлы собраны в единую конструкцию, напоминающую пирамидку. Перегонная емкость разделена на 2 части с помощью сита. Шлем выполняет одновременно две функции: снаружи – это камера конденсатора, а внутри – паровая камера, в которую можно помещать ароматные травы, ягоды, фрукты, виноградную перебродившую мезгу.</span></span></p>
<p><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;"><a href="48-alambiki.html"> Аламбик</a> применяется для получения ароматных алкогольных напитков, а также эфирных масел. Пар проделывает кратчайший путь из перегонного куба до узла отбора, поэтому потери продукта и его свойств минимальны.</span></span></p>
<p style="text-align: justify;"><strong><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;">Цену уточнить при запросе!</span></span></strong></p><br>
<span style="font-style: italic;"></span>
</td>
Мне нужно все внутри тега <td colspan="3"> за исключением
<p style="text-align: justify;"><strong><span style="font-size: medium;"><span style="font-family: 'trebuchet ms', geneva;">Цену уточнить при запросе!</span></span></strong></p><br>
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.