preg_match fonksiyonu ile istediğim ifadeyi nasıl elde ederim..
Merhabalar elimde veritabanından çektiğim aşağıdaki uzun ifade var. Ben bu ifade içinden resim_dosyasının_adı.jpg olan yeri almak istiyorum. Bunun için preg_match ifadesine hangi parametreleri vermeliyim.
{"image_intro":"images\/my_logo_black.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}
Php
şöyle birşeyler olur. sunucuda denedim. çalışıyor.
$bilgi='{"image_intro":"images\/my_logo_black.jpg","float_intro":""
,"image_intro_alt":"","image_intro_caption":"","image_fulltext":"",
"float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption
":""}';
preg_match('#/.*\.jpg#',$bilgi, $bulunan);
print_r($bulunan);
Php
cevap için öncelikle çok teşekkürler.Bir kaç sorum olacak. 1.si çıktıda "/resimismi.jpg" elde ediyoruz bundan "/" karakterinide çıkarabilir miyiz. Yani bana sadece resimismi.jpg lazım.Ayrıca buna resim uzantısının png olma olasılığınıda göz önünde bulundurarak yeni bir süzgeç oluşturabilir miyiz? 2. olarakda ben veri tabanından gelen sonucu result isminde bir değişkene aktardım ve değişkenide foreach döngüşüne sokarak verileri yazdırıyorum. Örneğin $item->id dediğimde id değerini alıyorum. Ben bu döngü içerinde preg_match ile elde ettiğim sonucu nasıl kullancağım?
Php
acaba bu bilgileri veritabanına neden böyle json şeklinde yazıyorsun. bence sana preg_match değil başka bir gidiş yolu lazım.
php
ben joomla için bileşen geliştirmekteyim. düzenli ifadeler phpde zayıf olduğum bir konu. bilgileri ben değil joomla kendisi veritabanına o şekilde yazıyor. Bana intro image'ın linki lazım ama joomla resimlerin linkini tutmuyor veritabanında. Böyle veritabanına parametrelerle yazıyor bilgileri. Bende resimlerin yüklü olduğu dizini bilğim için dizin ismini başka bir değişkene atadım ve bu değişkene resim ismini de eklediğim zaman linki elde etmiş oluyorum. Ben preg_matchla ilgili komutu şöyle kullanıyorum ve sonuc'u yazdırmaya kalktığımda sonuç array() yazıyor neden acaba ?
preg_match('#/.*\.jpg#',$item->images,$sonuc);