lostyazilim
tr.link

Düzenli ifade ile içerikten istediğim kısmı nasıl alabilirim?

6 Mesajlar 874 Okunma
lstbozum
tr.link

FOMOCO FOMOCO WM Aracı Kullanıcı
  • Üyelik 10.11.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Nakliyat
  • Konum
  • Ad Soyad C** A**
  • Mesajlar 417
  • Beğeniler 184 / 76
  • Ticaret 1, (%100)
Arkadaşlar php en zayıf noktam düzenli ifadeler diyebilirim

aşağıda $a değişkenimin depoladığı isimleri almak istedim




$a = "isimler:[[ali],[ahmet],[mehmet],[kemal],[hasan]],";

preg_match_all("#isimler:\[\[(.*?)\]\]#",$a,$b);

print_r($b);



?>



bu şekilde çıktının düznlenmiş dizisi $b[1][0] oluyor ama ilk baştaki ve en sondaki ] köşeli parantezleri neden yok sayıyor?



Array
(
[0] => Array
(
[0] => isimler:[[ali],[ahmet],[mehmet],[kemal],[hasan]]
)

[1] => Array
(
[0] => ali],[ahmet],[mehmet],[kemal],[hasan
)

)



 

 

wmaraci
reklam

Yeninesil44 Yeninesil44 Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek web programlama
  • Konum Malatya
  • Ad Soyad O** D**
  • Mesajlar 1033
  • Beğeniler 282 / 281
  • Ticaret 18, (%100)
isimler json formatında görünüor nası böle bi çıktı aldınız bilmiorum. Json decode kullanın

preg_match_all("#(\[([^[]+)\])+#",$a,$b);
print_r($b[2]);

bunu deneyebilirsniz
FOMOCO

kişi bu mesajı beğendi.

MultiAnaliz.com

FOMOCO FOMOCO WM Aracı Kullanıcı
  • Üyelik 10.11.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Nakliyat
  • Konum
  • Ad Soyad C** A**
  • Mesajlar 417
  • Beğeniler 184 / 76
  • Ticaret 1, (%100)

Yeninesil44 adlı üyeden alıntı

isimler json formatında görünüor nası böle bi çıktı aldınız bilmiorum. Json decode kullanın

preg_match_all("#(\[([^[]+)\])+#",$a,$b);
print_r($b[2]);

bunu deneyebilirsniz


ilginiz için çok teşekkürler hocam bu şekilde yapınca son isimin sonuna ] işaretide koyuyor

bu düzenli ifadeler beni kanser edecek
 

 

Yeninesil44 Yeninesil44 Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek web programlama
  • Konum Malatya
  • Ad Soyad O** D**
  • Mesajlar 1033
  • Beğeniler 282 / 281
  • Ticaret 18, (%100)
yazdıgım kodun mantığı doğru siz uyarlayamadınız sanırım [] icindeki verileri array olarak getiricek.
siz preg_match_all demişsiniz yani belirttiğim koşula uyan birden çok veriyi getir ama "isimler:" sözcüğü 1tane buyüzden kodunuzda 1 sonuç listelior

edit preg_match_all("#(\[([^[]]+)\])+#",$a,$b); [ kapanıs parantezi eklemeyi unutmusum basit bi hataymıs halbuki :)
FOMOCO

kişi bu mesajı beğendi.

MultiAnaliz.com
wmaraci
wmaraci

FOMOCO FOMOCO WM Aracı Kullanıcı
  • Üyelik 10.11.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Nakliyat
  • Konum
  • Ad Soyad C** A**
  • Mesajlar 417
  • Beğeniler 184 / 76
  • Ticaret 1, (%100)

Yeninesil44 adlı üyeden alıntı

yazdıgım kodun mantığı doğru siz uyarlayamadınız sanırım [] icindeki verileri array olarak getiricek.
siz preg_match_all demişsiniz yani belirttiğim koşula uyan birden çok veriyi getir ama "isimler:" sözcüğü 1tane buyüzden kodunuzda 1 sonuç listelior

edit preg_match_all("#(\[([^[]]+)\])+#",$a,$b); [ kapanıs parantezi eklemeyi unutmusum basit bi hataymıs halbuki :)


bu şekilde de olmadı hocam :) bu düzenli ifadeler beni düzenden çıkarıyo


Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) )
 

 

Yeninesil44 Yeninesil44 Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek web programlama
  • Konum Malatya
  • Ad Soyad O** D**
  • Mesajlar 1033
  • Beğeniler 282 / 281
  • Ticaret 18, (%100)
preg_match_all("#(\[([^\[\]]+)\])+#",$a,$b);
 

 

MultiAnaliz.com
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al