J'ai un tableau d'étiquettes que je tire d'une base de données, j'exporte les étiquettes dans un nuage de tags. Je suis bloqué sur obtenir seulement la première instance du mot. Par exemple:php obtient seulement la première occurrence d'un mot d'un tableau
$string = "test,test,tag,tag2,tag3";
$getTags = explode("," , $string);
foreach ($getTags as $tag){
echo($tag);
}
Cela produirait l'étiquette de test deux fois. Au début, je pensais que je pouvais utiliser stristr
faire quelque chose comme:
foreach ($getTags as $tag){
$tag= stristr($tag , $tag);
echo($tag);
}
Ceci est évidemment logique stupide et ne fonctionne pas, stristr
semble ne remplacer la première occurrence donc quelque chose comme « test 123 » ne ferait que se débarrasser du "test" et retournerait "123" J'ai vu cela peut aussi être fait avec regex mais je n'ai pas trouvé d'exemple dynamique de cela.
Merci,
Brooke
Edit:unique_array()
fonctionne que si j'utilise une chaîne statique, mais ne fonctionnera pas avec les données de la base de données car j'utilise une boucle while pour obtenir chaque rangs Les données.
$getTag_data = mysql_query("SELECT tags FROM `news_data`");
if ($getTag_data)
{
while ($rowTags = mysql_fetch_assoc($getTag_data))
{
$getTags = array_unique(explode("," , $rowTags['tags']));
foreach ($getTags as $tag){
echo ($tag);
}
}
}
Merci qui a fonctionné, j'ai dû ajouter '$ t = trim ($ t);' à l'intérieur de la boucle foreach qui définissait les clés comme "test" était différent de "test". Merci pour l'aide! – BandonRandon