2010-02-09 7 views
0

Je saisis une liste de balises utilisées sur un poste avec le tableau $posttags. En cela, il y a un tag spécial que je veux stocker séparément: profile-somename.Trouver et stocker (Regex, PHP)

Comment puis-je:

  1. Trouver cette balise profile-somename spéciale de la liste (La valeur après profile- est dynamique, ne cesse de changer, somename est juste un exemple)
  2. bande profile- de lui et
  3. Stocker dans une variable séparée?

Un grand merci pour votre aide.

Répondre

1

comme

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

ok, il se trouve que nous avons tableau d'objets. preg_grep ne fonctionnera pas avec elle, donc vous devez boucle

function find_profile_name($posttags) { 
    foreach($posttags as $tag) 
     if(preg_match('~^profile-(.+)~', $tag->slug, $m)) 
      return $m[1]; 
    return null; // no profile-... found 
} 
+0

Grand, travaille presque, mais le mien semble être un tableau multidimensionnel de sorte que le code ci-dessus ne fonctionne pas sur elle. Que dois-je changer dans votre code pour qu'il fonctionne sur ma matrice md? – 3zzy

+0

Bien sûr, vient d'éditer ma description. – 3zzy

+0

Parfait! Merci tas! :) – 3zzy