Recherche d'une variable dans une tableau

Signaler
Messages postés
7
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2012
-
Messages postés
7
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2012
-
Bonjour,

Je tourne en rond avec un code, et je suppose qu'il existe une solution,
mais étant débutant je coince, voila j'utilise
ce script pour dédoublonner un ficher xml sur le titre.
mais ce que je voudrais c'est pouvroir dédoublonner sur un extrait de titre
dans le tableau intermédiaire.
donc ex:
le printemps arrive
avec dans le tableau intermédiaire true/false
le printemps arrive les oiseaux chantent

Merci de votre aide et avis
function Parser($url_feed, $nb_items=8)
{
//initialisation du tableau inetrmediaire
$tab_desc = array();

// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);

if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items, 0, $nb_items);

// boucle sur tous les elements
foreach ($items as $item)
{
// voir si le titre en cours n'est pas déjà présent dans le tableau intermédiaire
if (!in_array($item['title'],$tab_desc)) 
{
$title = $item['title'];
array_push($tab_desc,$item['title']);
 } else {
//sinon on vide la variable title
$title = "";
}

3 réponses

Messages postés
255
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3
Parcours ton tableau et utilise preg_match pour verifier que ton titre ne contient pas ton extrait.
Messages postés
7
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2012

Tu pourrais préciser avec une exemple parce que
tester l'existence d'une ligne dans un tableau, j'ai appris, mais les regex avec les mas j'ai rien compris, d'autre part je précise que pour le moment je dédoublonne seulement
lorsque $title retrouve l'équivalent dans $tab_desc = array();
ce qui implique qu'il faudrait que je sectionne $title, pour rechercher un
extrait du titre dans le tableau intermédiaire, et la je coince car je n'ai pas trouvé
d'exemple ou pas compris les codes
Messages postés
7
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2012

Bonsoir,

si quelq'un passe par là, pour éclaircir mes
idées, merci d'avance !
mon objectif est de supprimer les doublons dans un fichier xml,
dans un premier cas, je peux éliminer les titres entiers en doublons en passant
par un tableau internmédiaire. Mais ce n'est pas l'idéal,
j'ai donc raccourci la valeur title pour pouvoir faire la recherche dans
mon tableau avec preg_match mais je n'arrive pas à filtrer comme dans le premier
cas.
 if (!preg_match('/$val/',$tab_desc))
ne fonctionne pas, 

en 1) je filtre bien "mon tableau est important" = > "mon tableau est important" 
en 2) je ne fitre pas "mon tableau"            = > "mon tableau est important" 

merci de votre aide, 


function FeedParser($url_feed, $nb_items_affiches=8)
{
//initialisation du tableau inetermediaire
$tab_desc = array();

// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);

if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items, 0, $nb_items_affiches);

$html = "";

// boucle sur tous les elements
foreach ($items as $item)
{

$val= substr($item['title'],0,28);

 if (!preg_match('/$val/',$tab_desc))

{
$title = $item['title'];
array_push($tab_desc,$item['title']);
} else {
//sinon on vide la variable title
$title = "";
$html .= ""; // vide;
}