2012-02-27 2 views
1
<span class="nowrap"> 
     <span class="use_sprites stars4 stars4i5" title="5 start hotel">&nbsp; 
    </span> 

Мне нужно получить одиночное число 5, находящееся между заголовком.Извлечение одного номера с использованием Preg_Match

Вот моя попытка:

preg_match_all('#<span class="nowrap">\s*(.*?)\s*<\/span>#s', $htmlOfPage, $rate); 

Приведенный выше код извлекает следующее:

<span class="use_sprites stars4 stars4i5" title="5 start hotel">&nbsp; 

Вопрос:

  • Начальная точка: <span class="nowrap">
  • Ending точка: </span>
  • Целевой раздел: title="5 start hotel"
  • Целевое значение: the single number in between title

мне нужно начать от начальной точки и игнорировать все, кроме заголовка = "..." и в заголовке хватают одно число. К настоящему времени мы уже находимся в конечной точке.

Любая помощь в выполнении вышеуказанных шагов?

ответ

2
$str = '<span class="nowrap"> 
     <span class="use_sprites stars4 stars4i5" title="5 start hotel">&nbsp; 
    </span>'; 

preg_match('/<span class="nowrap">.+? title="([0-9]){1}/sm', $str, $match); 

print_r($match); 

Выход:

Array 
(
    [0] => <span class="nowrap"> 
     <span class="use_sprites stars4 stars4i5" title="5 
    [1] => 5 
) 

Убедитесь, что вы посмотрите на исходный код для матча. Он не будет отображаться в окне браузера из пролетных тегов

Это должно просто соответствовать номеру, который вы ищете

+0

Приветствия ... Можете ли вы кратко объяснить, что делать с и м делать? – user311509

+0

На самом деле, я думаю, все, что вам нужно, это параметр m для многострочного режима http://www.regular-expressions.info/modifiers.html –

+1

+1 однако m здесь не нужен, просто s будет делать. – anubhava

Смежные вопросы