Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1829 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  rechercher des mots avec leurs balises

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

rechercher des mots avec leurs balises

n°1937520
daniela1
Posté le 04-11-2009 à 10:53:44  profilanswer
 

Bonjour,
 
Comment peut-on après avoir ceci:
 
$lines = file('http://annuaire.indexweb.info/');
 
Puis chercher là-dedans une expression précise par exemple "proposer un site" ainsi que les balises qui l'entourent, je sais pas si la fonction ereg permet de faire cela.

mood
Publicité
Posté le 04-11-2009 à 10:53:44  profilanswer
 

n°1937523
gustoune
Posté le 04-11-2009 à 10:57:34  profilanswer
 

daniela1 a écrit :

Bonjour,
 
Comment peut-on après avoir ceci:
 
$lines = file('http://annuaire.indexweb.info/');
 
Puis chercher là-dedans une expression précise par exemple "proposer un site" ainsi que les balises qui l'entourent, je sais pas si la fonction ereg permet de faire cela.


 
 
fait un fopen
puis "aspire le site" avec un fgets dans une variable  
et ensuite tu peux faire des eregs

n°1937530
stealth35
Posté le 04-11-2009 à 11:06:50  profilanswer
 

oula partons dans les vieux truc,
 
pour ouvrir et lire un fichier t'as plus simple : file_get_contents
 
niveau regexp, c'est plus conseiller d'utilisé "preg" qu'"ereg" ( plus rapide )
 
mais pour faire des recherches dans un document html (mieux xhtml)
c'est DomDocument, associé a Xpath et ca devrai allé (pour recherche du texte c'est contains()  )

n°1937535
daniela1
Posté le 04-11-2009 à 11:18:22  profilanswer
 

par exemple cette ligne ne marche pas
 
$fp = fopen("http://localhost/repertoire/admin/","r+" ); //lecture du fichier,  
c'est normal j'ai easyphp 3.0

n°1937536
daniela1
Posté le 04-11-2009 à 11:18:45  profilanswer
 

?

n°1937540
stealth35
Posté le 04-11-2009 à 11:30:41  profilanswer
 

utilise file_gets_content comme je t'ai dis

 

sinon pour ta recherche tu peux faire ca :

 

<?php
    $search = 'test';
   
    $doc = new DomDocument();
    $doc->loadHTMLFile('http://localhost/');
   
    $xpath = new DOMXPath($doc);
    $items = $xpath->query("//*[contains(child::text(), '$search')]" );
   
    foreach($items as $item)
    {
        var_dump($item->tagName);
    }

 


et ca commence a dater easey php 3.0 non ?, installe la derniere version si c'est possible, ou install zend server


Message édité par stealth35 le 04-11-2009 à 11:40:15
n°1937561
daniela1
Posté le 04-11-2009 à 11:55:47  profilanswer
 

vous pourriez m'expliquer :
 
query("//*[contains(., '$search')]/text()" );  ?
 si par exemple à la place de 'test' je veux "Proposer un site" et "Soumettre un site" ?

n°1937574
daniela1
Posté le 04-11-2009 à 12:39:24  profilanswer
 

comment transposer ce code, je suis hypernovice en programmation, pour rechercher deux expressions dans un texte l'"expression1" et l'"expression2" dois-je mettre  
query("//*[contains(child::text(), '$search')]" ) tel quel, ici search ne vaut qu'une expression.

n°1937583
stealth35
Posté le 04-11-2009 à 13:10:39  profilanswer
 

$search1 = 'test';
$search2 = 'test2';
 
"//*[contains(child::text(), '$search1') or contains(child::text(), '$search2')]"

n°1937584
stealth35
Posté le 04-11-2009 à 13:15:12  profilanswer
 

daniela1 a écrit :

vous pourriez m'expliquer :
 
query("//*[contains(., '$search')]/text()" );  ?


 
 
donc c'est xpath
 
//* : va chercher tout les noeuds
 
ensuite
 
[contains(child::text(), '$search1')]
 
dans tout les noeuds on va recuperer tout ceux, dont l'enfant texte contient la chaine $search
 
mais bon c'est deja du xpath avancé
 
un truc simple recupere tout les liens serai : //a
 
je t'invite a fair un petit tour ici
 
http://fr.wikipedia.org/wiki/XPath

mood
Publicité
Posté le 04-11-2009 à 13:15:12  profilanswer
 

n°1937600
Gat$
http://www.wowteamfinder.com
Posté le 04-11-2009 à 13:55:56  profilanswer
 

A noter que les fonctions ereg eregi, etc sont dépréciées et seront supprimées en php6.
Il faut utiliser les fonctions preg_match et co...
 
Gat$

n°1937606
daniela1
Posté le 04-11-2009 à 14:01:35  profilanswer
 

j'ai trouvé une autre façon avec
<html>
<head>
<script language= "javascript">
function la(url){
  var i;
  var Win;
  var Html="";
  var Obj;
 
  //--  Tu ouvres le document avec window.open
  Win= window.open( "url","le" );
 
  Obj =win.document.getElementsByTagName('a');
 
  for ( i=0; i < Obj.length; i++){
    Html += Obj[i].innerHTML;
  }
  alert(Html);
}
</script>
</head>
<body>
<a href="javascript:la(http://www.aquadesign.be/)"> Ouverture</a>
</body>
</html>
 
pour le site spécifié bon par exemple, et voir ce qui ne va pas

n°1937607
stealth35
Posté le 04-11-2009 à 14:05:23  profilanswer
 

mais enfaite tu veux faire quoi exactement ?

n°1937608
daniela1
Posté le 04-11-2009 à 14:09:30  profilanswer
 

en fait je voudrais c'est vrai c'est pas terrible m'inscrire automatiquement à quelques formulaires pour m'éviter de m'inscrire manuellement long et répétitif. Souvent dans les pages des annuaires de sites, il y a un liens  
"proposer un site", je voudrai le récupérer et faire en sorte si c'est possible qu'il soit cliqué pour accéder à la deuxième page( en fait je sais pas trop comment m'y prendre.

n°1937610
stealth35
Posté le 04-11-2009 à 14:13:52  profilanswer
 

je vois, mais malheureusement, les champs n'ont pas tous le meme nom
 
par ex pour un champ "votre site" le nom du champ va etre :
site
web-site
link
....
 
et ca tu peu pas le savoir par avance
 
t'as des extention pour IE ou Firefox,  qui te rempli les formulaire automatiquement, mais c'est pareil c'est une liste exhaustive des noms.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  rechercher des mots avec leurs balises

 

Sujets relatifs
Regex pour sécuriser un textarea avec balisesImbrication de style CSS dans balises HTML ul li marche pas?
xslt 1.0 Regroupement de balises dans une balise mères[Javascript] Utilisation de balises BB dans un textarea
Rechercher la valeur Max selon un critère donné[Excel] Inverser l'ordre des mots dans une cellule
url avec mots clés quel impact référencement?Rechercher et lister des informations d'une bdd
débloquer balises <keywords >sur templateCompter mots sans répétition
Plus de sujets relatifs à : rechercher des mots avec leurs balises


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR