Регулярное выражение для поиска атрибута «src» элемента HTML «img» в PHP

У меня есть строка, внутри которой у меня есть изображение:

"<p><img src="http://yahoo.com/testfolder/userdata/editoruploadimages/confused man.jpg" /></p>" 

Я не мог получить URL изображения с моим регулярным выражением. Мой код:

 preg_match_all("/src=([^\\s]+)/", $questArr_str, $images); 

Этот код останавливает выполнение, когда он встречает пробел в имени изображения. Он возвращает только "http://yahoo.com/testfolder/userdata/editoruploadimages/confused

Возвращаемая строка должна быть: "http://yahoo.com/testfolder/userdata/editoruploadimages/confused man.jpg"

Я поймал все внутри цитат:

 preg_match_all('/src="([^"]+)"/', $questArr_str, $images); 

Детали, которые читаются ([^\s]+) означают выбор всего, что не является пространством.

Возможно, попробуйте что-то вроде:

 /src="([^"]+)"/ 

Который выбирает все, что не является двойной цитатой.

Спасибо всем за то, что помогли мне.

Я нашел свое решение, используя:

 pattern = "/src=([^\\\"]+)/" 

Вот простой способ сопоставить атрибут src тега <img /> и / или его содержимое в html/PHP с регулярным выражением.

Образец:

 <img class="img img-responsive" title="publisher.PNG" src="media/projectx/agent/author/post/2/image/publisher.PNG" alt="" width="80%" /> 

Для соответствия только атрибуту содержимого атрибута src

 preg_match("%(?<=src=\")([^\"])+(png|jpg|gif)%i",$input,$result) 

$result[0] будет выводить media/projectx/agent/author/post/2/image/publisher.PNG

Чтобы сопоставить атрибут `src 'и использовать его содержимое

 preg_match("%src=\"([^\"])+(png|jpg|gif)\"%i",$input,$result) 

$result[0] выведет src="media/projectx/agent/author/post/2/image/publisher.PNG"