Регулярка

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

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Помогите, пожалуйста, спарсить, значение тега option с атрибутом selected, т.е. необходимо получить t3.

<option value='t1' >t1</option>
<option value='t2' >t2</option>
<option value='t3' selected='selected'>t3</option>
 
Ну как минимум
/<option value='(.*?)' selected='selected'>/
 
  • Заблокирован
  • #3
/<option value='.*' selected='selected'>(.*?)<\/option>/
 
помогите пожалуйста с регуляркой, а то уже все перепробывал не могу понять почему не хочет работать:( Вот кусок кода:


Нужно вытянуть отсюда значения (цифру) Золота, кристалов, пирашек и зелени! Пишу регулярку:


Но на выходе получаю пустой массив так же и со всеми другими значениями :(
 
  • Заблокирован
  • #6
PHP:
<?php
$text="<div class='top_money '>
			<div class='money' id ='gold' >
				<p>золото:</p>
				<b>3.976</b>
							</div>
			<div class='money' id ='crystal' >
				<p>кристаллы:</p>
				<b>0</b>
							</div>
			<div class='money' id ='fish'>
				<a href='harbour.php?a=change'></a>
				<p>пирашки:</p>
				<b>60</b>
			</div>
			<div class='money' id ='green'>
				<a href='kormushka.php'></a>
				<p>зелень:</p>
				<b>0</b>
			</div>";
preg_match('/золото.*?<b>(.*?)<\/b>.*?кристаллы.*?<b>(.*?)<\/b>.*?пирашки.*?<b>(.*?)<\/b>.*?зелень.*?<b>(.*?)<\/b>.*?/ms', $text, $bb);
echo($bb[1]."<br>".$bb[2]."<br>".$bb[3]."<br>".$bb[4]."<br>");
?>
 
PHP:
if (preg_match('%<option\s+value=\'([^\'].+)\'\s+selected=\'selected\'>([^<].+)</option>%', $subject, $regs)) {
	$result1 = $regs[1];// это то что в value;
	$result2 = $regs[2];// это то что между > <

} else {
	//не нашли ничего
}
 
Для быстрого составления регулярок можно использовать Regex Buddy - прога поможет составить нужную регулярку, и сразу покажет результат. Правда она только на английском.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху