Проблем със preg_match

M1tq96

Registered
Здравейте, днес реших да направя едни шмекерии и нещо не се получават !
Ползвам прег мач за да взема само пътвата снимка от една статия, но нещо неми се получава ..

Ето кода който ползвам (демо) => http://rubular.com/r/Z71Izb6MQU

Някакви предложения
 
Ами при положение, че нямаш накрая наклонена черта, малко трудно ще съвпадне.
Използвай това:

PHP:
<img\s*(.*?)\s*\/?>

В този сайт, който си дал, не се учудвай, че ще ти мачва всички тагове. Това е защото по подразбиране е зададен global модификатора, който в PHP е preg_match_all(), с preg_match() ще вземеш само първия.
 
да, така върши работа, НО когато сложа на $desc стринг от БД ... ии .. ми дава празен арей .. ?!

PHP:
$bin = mysql_query("SELECT * FROM `table` Where `id`='1'");
$r = mysql_fetch_array($bin);				
$desc = $r['desc'];
 preg_match("/<img\s*(.*?)\s*\/?>/", $desc, $matches);
 print_r($matches); // NULL
 
да много ясно, не се занимавам с php от 1 месец .. :D
п.с: точно това и ме притесняава .. какво ли може да е проблемчето.. ?!
 
M1tq96 каза:
да много ясно, не се занимавам с php от 1 месец .. :D
п.с: точно това и ме притесняава .. какво ли може да е проблемчето.. ?!

Е, аз не знам от колко време се занимаваш. За да ти помогна съм длъжен да задавам някои въпроси.

Текста, който ти връща $desc е същия, който си сложил в сайта от първия ти пост ли ? И между другото, пробвай да сложиш модификатори. Например s или m
 
А сигурен ли си, че изображенията са в такъв вид:

Код:
<img src="test.jpg" />
?

Огледай ги хубаво.
 
@Kakituro - всичко е същото

@eddyy93 - няма значение дали имат / (аз проверявам) това лесно се проверява .. става дума че не ми връща празен масив, а като сложа обикновен текст в една променлива ии сичко си работи ... НО ако текста на тази променлива със същият текст идва от БД .. ии -> празен арей .. :D
 
въй малее .. оправих се .. ето патрена който измислих:
Код:
/<img.*src=[\'"]([^\'"]*)[\'"].*>/i

п.с: Извинявам се, грешката е била моя. Не съобразих, че като съм вкарвал в БД записа съм го ескейпвал и затова прег мач неможе да намери съвпадения .. и след 14 часа .. ми дойде акъла в главата .. :D извинете ако съм прозвучал нагло в първите си постове .. :)

+1 Kakituro - за бързото реагиране и за това, че все пак се пробва .. :)
 

Back
Горе