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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Faisable ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Faisable ?

n°182060
Toto21
Posté le 24-07-2002 à 19:52:59  profilanswer
 

Je cherche à améliorer un script de moteur de recherche...  
J'ai un fichier .txt qui contient la description de ma page indexée, je met le contenu de ce fichier dans une variable, et je voudrais ensuite que mon script me renvoie une variable avec seulement les 30 caractères qui sont autours des mots clé que je cherche et j'ajoute des pts de suspensions entre...
Par exemple:  

Code :
  1. $description = "Blablablablablablabl mot-clé blablablablablbal mot-clé blablablabalablablablabalbalblablablabla";
  2. et ensuite j'obtiens ça :
  3. $var = "...blablabl mot-clé blablbla... blablabla mot-clé blablablabla...";


 
Bien sur le nombre de caractère avant et après est à revoir...
Comment je peux faire? :??:


Message édité par Toto21 le 24-07-2002 à 19:53:20
mood
Publicité
Posté le 24-07-2002 à 19:52:59  profilanswer
 

n°182186
Toto21
Posté le 24-07-2002 à 21:59:30  profilanswer
 

Bon... j'ai essayé:

Code :
  1. global $chaine_finale;
  2. $chaine = "Blablablablablablabl Test blablablablablbal test blablablabalablablablabalbalblablablabla test ";
  3. $mot = "test";
  4. $lg = strlen($mot);
  5. $nb = substr_count($chaine,$mot);
  6. $s = 10;
  7. $l = 30;
  8. for($i=0;$i<$nb;$i++)
  9. {
  10. $idx = strpos($chaine,$mot);
  11. $chaine_finale .= "...".substr($chaine,$idx-$s,$l)."...";
  12. $chaine = substr($chaine, $idx+$lg);
  13. }
  14. echo $chaine_finale;


Et j'ai encore deux problèmes... C'est sensible à la casse, ce que je ne souhaite pas... et lorsque deux mots se suivent à moins de 30 caractères, ça foire un peu...
Comment est-ce que je peux régler ces deux problèmes?
Merci à tous!
 :hello:


Message édité par Toto21 le 25-07-2002 à 00:18:43
n°182242
Toto21
Posté le 25-07-2002 à 00:22:17  profilanswer
 

:??:

n°182365
Toto21
Posté le 25-07-2002 à 09:46:37  profilanswer
 

:cry:

n°182653
Toto21
Posté le 25-07-2002 à 13:52:26  profilanswer
 

:hello:

n°182791
madam
Posté le 25-07-2002 à 15:53:45  profilanswer
 

oui c'est faisable

n°182833
Toto21
Posté le 25-07-2002 à 16:32:30  profilanswer
 

merci!!!!!
é pourriez pas m'aider un ch'ti coup!!  :hap:
Ou au moins... comment est-ce que je peux faire pour compter le nombre d'occurence en ignorant la casse?


Message édité par Toto21 le 25-07-2002 à 16:35:26
n°182995
gm_superst​ar
Appelez-moi Super
Posté le 25-07-2002 à 19:30:12  profilanswer
 

Une bonne expression régulière Perl devrait faire l'affaire ;)
 

$LONGUEUR = 30;
$chaine = "Blablablablablablabl Test blablablablablbal test blablablabalablablablabalbalblablablabla test ";
$cle = "test";
$occurrences = array();
 
preg_match_all("/.{0,$LONGUEUR}$cle.{0,$LONGUEUR}/i", $chaine, $occurrences);
 
foreach ($occurrences[0] as $valeur) {
  echo "$valeur... ";
}


 
À adapter bien sûr, surtout en ce qui concerne l'affichage du résultat final.


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

  [PHP] Faisable ?

 

Sujets relatifs
PHP et cookie[PHP] g un probleme et je pense que ca vient de sessions mais...
[PHP] Détécter un lien mort...[PHP] Retourner ttes les positions d'une occurence?
[ PHP ] - intercepter la fin du telechargement d'un fichierJe cale en PHP : afficher un message d'erreur
[PHP/MySQL] Retourner les valeurs ajoutées dans une tableEquivalent PHP de l'objet ASP Application + fonction flock()
[PHP] Passage de paramètres ?[PHP] Expressions régulières je comprend rien!!! ;-)
Plus de sujets relatifs à : [PHP] Faisable ?


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