Temukan dan Simpan (Regex, PHP)

Saya mengambil daftar tag yang digunakan pada postingan dengan array $posttags. Di sini ada tag khusus yang ingin saya simpan secara terpisah: profile-somename.

Bagaimana saya:

  1. Temukan tag profile-somename khusus ini dari daftar (Nilai setelah profile- bersifat dinamis, terus berubah, somename hanyalah sebuah contoh)
  2. Hapus profile- darinya dan
  3. Simpan dalam variabel terpisah?

Terima kasih banyak atas bantuanmu.


person eozzy    schedule 09.02.2010    source sumber


Jawaban (1)


menyukai

$tags = array('foo', 'bar', 'profile-blah');
$found = preg_grep('~^profile~', $tags);
if($found)
   $profile_name = substr(end($found), strlen('profile-'));

ok, ternyata kita punya berbagai objek. preg_grep tidak akan berfungsi, jadi Anda harus mengulanginya

function find_profile_name($posttags) {
   foreach($posttags as $tag)
      if(preg_match('~^profile-(.+)~', $tag->slug, $m))
          return $m[1];
   return null; // no profile-... found
}
person user187291    schedule 09.02.2010
comment
Hebat, hampir berfungsi, tetapi milik saya tampaknya merupakan array multidimensi sehingga kode di atas tidak berfungsi. Apa yang harus saya ubah dalam kode Anda agar dapat berfungsi pada array md saya? - person eozzy; 09.02.2010