Подскажите по регулярке

Статус
В этой теме нельзя размещать новые ответы.

mc-alkin

Постоялец
Регистрация
17 Июл 2009
Сообщения
161
Реакции
100
PHP:
<ul class="numbers">
<li class="odd">
<b>Москва: </b><span style="color:green;">261</span>
</li>
<li>
<b>Питер: </b>0</li>
<li class="odd">
<b>Казань: </b>145</li>
<li>
<b>Мурманск: </b>47,639</li>
<li class="odd">
<b>Всего: </b>23,424</li>
</ul>

реально одной функцией выколупать "23,424" ?
 
PHP:
'#<li\sclass="odd">\s+<b>\w+:\s</b>(\d+[,]\d+)#i'
 
  • Заблокирован
  • #4
Да. Или preg_match_all
 
Так будет более универсально:
PHP:
'#<li\s+class="odd">\s+<b>\w+:\s+</b>(\d+[,]\d+)#is'
 
  • Заблокирован
  • #7
PHP:
'#<li\s+class="odd">\s+<b>\w+:\s+</b>(.*)#is'
 
вот из чего надо выколупать:

<ul class="numbers">
<li class="odd">
<b>Респект: </b>0</li>
<li>
<b>Учеников: </b>0</li>
<li class="odd">
<b>Побед: </b>0</li>
<li>
<b>Награблено: </b>0</li>
<li class="odd">
<b>Потеряно: </b>149</li>
<li>
<b>Сэнсей: </b><a href="/player/399903/">Maakkcc</a>
</li>
</ul>

выделил жирненьким циферки... уже час пыхчу над регулярками((( выручайте.
 
PHP:
<?php 
$text = '<ul class="numbers">
<li class="odd">
<b>Респект: </b>0</li>
<li>
<b>Учеников: </b>0</li>
<li class="odd">
<b>Побед: </b>0</li>
<li>
<b>Награблено: </b>0</li>
<li class="odd">
<b>Потеряно: </b>149</li>
<li>
<b>Сэнсей: </b><a href="/player/399903/">Maakkcc</a>
</li>
</ul>';

preg_match_all('#<li\s*?\S*?>\s+<b>\w+:\s+</b>(\d+[,]?\d*?)\s*</li>#is',$text,$result);
?>

В массиве $result[1] будут содержаться все значения цифер. Тебе останется только выбрать из них нужные
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху