preg_match - выташить title

vrazbros

Новичок
preg_match - выташить title

Проблемка с регуляркой, есть string в которой находится html. Нужно вытащить то что содержится в атрибуте title те из
* title = "img001" * мне нужно только img001

почитал http://www.phpclub.ru/detail/article/regexp_1

мой код:

PHP:
<?php
    $subject = '<span id="thmr_53" class="thmr_call"> <span id="thmr_56" class="thmr_call"> 
	<div id="block-random_image-0"> <span id="thmr_54" class="thmr_call"> <span id="thmr_55" 
	class="thmr_call"> <img src="http://127.0.0.1/test/sites/default/files/images/0001_0.jpg" 
	alt="img001" title="img001" class="image image-_original" width="645" height="255" /></span> 
	</span> </div> </span> </span>';

//спасите мой title="img001"
	
	preg_match("/title=\"{*}\"/", $subject, $matches);
	
	echo '<pre>';
	print_r($matches);
	echo '</pre>';
?>
но массив $matches пуст :(
 

vrazbros

Новичок
preg_match("/title=\"\w+\"/", $subject, $matches);

все отлично, только если title одно слово.

с title="City. test dddd errrr" уже не работает :(
 

vrazbros

Новичок
ну и надеюсь последнее улучшение. Ведь ы title может встретиться что угодно, в том числе и ковычки, поэтому парсить лучше до class

но простая замена ковычки (правого агрумента до кот нужно парсить на class никчему хорошему не приводит)

preg_match("/title=\"[^\"]+class/", $subject, $matches);
 

Bitterman

Новичок
Ведь ы title может встретиться что угодно, в том числе и ковычки, поэтому парсить лучше до class
Что еще за кавычки в title? И почему парсить именно до class? А если дальше другой атрибут идет?
preg_match("/title=\"[^\"]+class/", $subject, $matches);
Предлагаю тебе сначала разобраться, что означает [^\"]. А потом немного подумать.
P.S. А что за задачу ты решаешь?
 

dimagolov

Новичок
vrazbros, потому что пора кончать танцы с бубном и начинать думать головой.

кроме того, с чего ты взял, что за title будет обязательно class?
 
Сверху