[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение
pavlGleb
Всем привет! Подскажите как правильно составить регулярное выражение. Что то туго они до меня доходят.
Есть такой 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
#<strong>Цена: </strong>([0-9а-я\.\s]*?)</td>#ius

так пойдёт?

_____________
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
preg_match('#<td[^>]+>.*\b([\d.]++)\b.*</td>#isuU', $product_table, $product_price);
echo $product_price[1];
pavlGleb
Что не срабатывает.((
Игорь_Vasinsky
может вы не в юникоде работаете? тогда модификатор 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
Цитата (Игорь_Vasinsky @ 20.05.2014 - 12:17)
#<strong>Цена: </strong>([0-9а-я\.\s]*?)</td>#ius

так пойдёт?

А разве в начале не надо указать открывающий тег td? Например вот так

 /<td .*?>
Игорь_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
pavlGleb
Спасибо за помощь сделал вот так:



preg_match('/<td .*?>[\S\s]*? <strong>[\S\s]*?<\/strong>[\S\s]*?<\/td>/ixu', $product_table, $product_price);
$product_price = str_replace('Цена:','', $product_price);


Просто времени мало надо быстрее решать проблему. С регуляркой буду разбираться.
pavlGleb
Еще вопросик маленький могу при пощи регулярки найти тег <td colspan="3"> и вытащить все что в нем?
Игорь_Vasinsky
покажите 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


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

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