查找和存储(正则表达式,PHP)

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.

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
}