Мне нужно получить URL-адрес из регулярного выражения из строки. Мой код:
$mystring = file_get_contents($urlstr);
preg_match('/background-image: url\(\\\'\/\/(.*png)|background-image:url\(\\\'\/\/(.*jpg)|background-image: url\((.*jpeg)|background-image: url\(\\\'\/\/(.*gif)/', $mystring, $A);
$prw = 'http://'.end($A);
Где я неправ?
Я думаю, что вам нужно регулярное выражение.
\background\-image:\surl\((.*(jpg|png|gif|jpeg))\
Вы забыли побег - в своем оригинальном регулярном выражении, и вам не нужно было вводить полный матч четыре раза, когда вы могли просто делать или на расширениях.
Обратите внимание, что вы также можете добавить некоторые дополнительные функции, чтобы вы могли поймать все объявления фонового изображения, например, лишние пробелы и т.д.
background-image
(в частности, у вас не будет проблем с кавычками или пробелами).