views:

38

answers:

1

I'm grabbing a list of tags used on a post with the $posttags array. In this there's a special tag that I want to store separately: profile-somename.

How do I:

  1. Find this special profile-somename tag from the list (The value after profile- is dynamic, keeps changing, somename is just an example)
  2. Strip profile- from it and
  3. Store in a separate variable?

Many thanks for your help.

+1  A: 

like

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

ok, it turns out we have array of objects. preg_grep won't work with it, so you have to loop

function find_profile_name($posttags) {
   foreach($posttags as $tag)
      if(preg_match('~^profile-(.+)~', $tag->slug, $m))
          return $m[1];
   return null; // no profile-... found
}
stereofrog
Great, almost works, but mine seems to be a multi-dimensional array so the above code doesn't work on it. What should I change in your code for it work on my md array?
Nimbuz
can you post your exact array? (use var_export, not var_dump)
stereofrog
Sure, just edited my description.
Nimbuz
post edited......
stereofrog
Perfect! Thanks heaps! :)
Nimbuz