preg_match fonksiyonu ile istediğim ifadeyi nasıl elde ederim..

nahitaNahita

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":""}
2012-08-07 01:44:02

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);

Her programcı birgün Php yi tadacaktır
2012-08-07 19:30:44 Edit:2012-08-07 19:30:57

Php

nahitaNahita

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?

2012-08-08 00:23:29

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.

Her programcı birgün Php yi tadacaktır
2012-08-08 11:34:36

php

nahitaNahita

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);
2012-08-08 17:55:08 Edit:2012-08-08 17:58:16

Edit:

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro