2009-10-21 3 views
0

мне нужно preg_match дляPHP preg_match два примера

src="http://  " 

, где пустое место следующего // является остальной частью URL, заканчивающимся с»My адаптированный, кажется, не работает:.

preg_match('#src="(http://[^"]+)#', $data, $match); 

И я также пытаюсь получить текст, который начинается с >, и заканчивается КАК полная остановка или восклицательный знак! Или вопросительный знак? Я не знаю, как это сделать. Пример текста, который я хочу to preg_match for is:

blahblahblah>Hello world this is what I want. 

Я надеюсь, что добрый гуру preg_match может сказать мне ответ и сэкономить мне время на посадку.

Спасибо за чтение.

ответ

4

Что касается URL:

preg_match('#src="(.*?)"#', $data, $match); 

и во втором случае, используйте />(.*?)(\.|!|\?)/

+0

Хорошее решение, но XPath бы решить это без preg_match;) –

+0

спасибо Игорю. Я добавил # в первый, чтобы он работал, а второй отлично работает. Огромное спасибо. –

+0

Спасибо Dan. Я исправил эту опечатку в своем ответе. – igor

0

(. *)»Будет соответствовать любому символу, жадность до того времени, пока не видит конец двойных кавычек

+0

Леной, вы имеете в виду. – Tordek

0

кажется, что вы хотите, чтобы разобрать документ или строку, которая следует за HTML, DOM, XML или что-то похожая структура. Используйте XPath и разобрать для тегов, и пусть он вернет srcAttribute, это сэкономит много неприятностей, и вы можете забыть о регулярных выражениях.

Пример: CLICK ME