IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

suppression d'une ligne au sein d'au array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut suppression d'une ligne au sein d'au array
    bonjour

    j'ai un array du type
    Array ( [0] => ici j'ai mon texte
    je l'est obtenu en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $fp=fopen("http://www.monsite.fr/", "r" );
    while(!feof($fp)) {
      $line.=fgets($fp, 8192); 	
      }	
    preg_match('`<div id="center">(.+?)</div>`isU',$line , $matches);	
    print_r($matches);  
    echo '<div id="moncadre">'.$matches[0].'</div>';
    je voudrais supprimer une ligne de texte au sein du array
    <a href="http://www.monsite.com/" id="toto">les routes à La Réunion</a>
    j'ai essayé un tas de solutions sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $tab = array($matches );	
    $element = 'les routes à La Réunion';
    unset($tab[array_search($element, $tab)]);
    toutes solutions est bienvenue

    a+ gilles

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Ta valeur contient-elle la balise <a> ou bien juste le texte ?
    Car dans le premier cas il est normal que array_search() ne fonctionne pas, il ne travaille que sur valeurs complètes.

    La solution la plus simple est de parcourir l'array avec une boucle foreach() et de faire un preg_match sur chaque élément en recherchant ta phrase. Avec l'index fourni par les arguments du foreach tu pourras en cas de réussite du preg_match supprimer ton index.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($mon_tableau as $index => $valeur)
    {
      if( preg_match($motif,$valeur) === true )
        unset($mon_tableau[$index];
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    merci transgohan

    mon but est de virer cette ligne
    <a href="http://www.monsite.com/" id="toto">les routes à La Réunion</a>
    je vais creuser ton idee

    a+ gilles

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    pour parser du HTML c'est DOMDocument

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    merci pour ta reponse stealth35 mais je crois que DOMDocument marche avec le XML

    je peux déjà récupérer la partie qui m’intéresse par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('`<div id="center">(.+?)</div>`isU',$line , $matches);
    maintenant je veux juste enlever toutes les balises <a href......</a> contenu dans le texte ainsi que leur contenue

    pour cela j'ai une regexp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $element= '#<a [^>](.*)</a>#';
    que j'essaye d'intégrer dans une boucle foreach
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach($matches as $index => $valeur)
    {
      if( preg_match($element,$valeur) === true )
        unset($matches[$index]);
    }
    // resultat
    print_r($matches);
    après plusieurs heures à effectuer différents test je cale. Mes balises sont toujours pressente dans le résultat

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par gilles974 Voir le message
    merci pour ta reponse stealth35 mais je crois que DOMDocument marche avec le XML
    comme sont nom l'indique ca marche avec tout type de DOM donc du HTML et du XML

Discussions similaires

  1. [JTABLE] suppression d'une ligne (prise de tete)
    Par uraxyd dans le forum Composants
    Réponses: 1
    Dernier message: 14/12/2005, 19h19
  2. Réponses: 3
    Dernier message: 19/09/2005, 13h20
  3. [Debutant][JTable] Suppression d'une ligne
    Par seiryujay dans le forum Composants
    Réponses: 7
    Dernier message: 03/08/2005, 17h15
  4. [JTable] problème après suppression d'une ligne
    Par fredo3500 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 10h01
  5. Réponses: 6
    Dernier message: 04/03/2004, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo