AFFICHAGE RESULTATS RECHERCHE TYPE GOOGLE

rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009 - 23 mars 2009 à 09:32
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009 - 3 avril 2009 à 11:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49520-affichage-resultats-recherche-type-google

griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
3 avril 2009 à 11:28
pas mal mais a améliorer ;)
cs_PetitDoigt Messages postés 1 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 19:58
L'idée est bonne ; l'initiative l'est encore plus. Mais comme tu dis toi-même, il y a une bonne possibilité d'optimiser...
d54 Messages postés 5 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 18:53
Bon code, mais pour plus de lisibilité, ajoute <?php au début et ?> à la fin (normalement, le code est coloré, dans ce cas).
mdc888fr Messages postés 40 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 14:24
Ouep, je rigole d'avance en imaginant une page décrivant une syntaxe HTML... :)
Je crois que tu as raison, je vais créer une petite fonction de traitement, avec d'abord les <li> et ensuite un strip-tags.
De toutes façon, c'est le genre de truc qui sert tout le temps !

Je posterai une MAJ bientôt.
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
23 mars 2009 à 14:16
D'un autre cote, il y a des cas ou ce n'est pas judicieux d'ajouter un expace, comme par exemple :
UNCLE = United Network Command for Law and Enforcement

A mon avis, tu devrais traiter separement les <li> and co qui sont les seuls ou des espaces sont necessaires (a part peut-etre les divs), et utiliser strip-tags pour le reste.

Peut-etre aussi qu'appeler htmlspecialchars_decode() au debut n'est pas une bonne idee (si c'est un tag, les caracteres ne seront pas encodes).

Imagine une page qui decrit la syntaxe de HTML :o)
mdc888fr Messages postés 40 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 11:43
Petite précision : l'utilisation de strip_tags dans ce cas me colle le texte séparé par des balises; c'est pour cela que je ne l'ai pas utilisé.
Exemple :
liste de codes :
<li>Code 1</li>
<li>Code 2 </li>

Me donne : "liste de codesCode 1Code 2"
mdc888fr Messages postés 40 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 11:35
Tout à fait véridique.
Il est vrai que pour les besoins du site que je suis en train de coder, cela fonctionne très bien car il n'y aura jamais de JS.
Mais je n'avais pas pensé à cette utilisation, il faut que je regarde ca.

Plus grave comme tu dis, dans le cas d'une formule mathématique, ca me bouffe des signes.
Pas bon du tout.
Je vais réfléchir à tout ca.
Une idée de ton coté ?

Merci !
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
23 mars 2009 à 11:19
Je peux me tromper, mais je pense que la ligne :
$chaine = ereg_replace('<[^>]*>', ' ', $chaine);

remplace :

<script type="...">alert("Hello!");</script>

par :

alert("Hello!");

Plus grave : Ca remplace le texte :

Cette formule fonctionne uniquement si x<=0. En effet, si x>0, ca plante

par :

Cette formule fonctionne uniquement si x 0, ca plante

C'est loin d'etre trivial comme je disais :o)

Bonne chance !
mdc888fr Messages postés 40 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 10:07
Salut Eric,

Oui, tu as tout à fait raison pour ton explication à RAMBC, merci de lui avoir si bien expliqué...
Par contre pour les balises, je l'ai pas mal testé, et normalement il vire tout. Néanmoins je peux me tromper, et bien sur je suis ouvert à toute optimisation ;)

Autre chose : j'ai (ou plutot un ami à moi) trouvé une alternative MySQL à ce code; quelque chose comme :
SELECT LOCATE('motcle',champs) as pos ,
SUBSTRING(champs,GREATEST((motcle('science',champs)-64),1),160) as txt1 ,
SUBSTRING(champs,GREATEST((motcle('science',champs)-256),1),512) as txt2
FROM table WHERE id = '$id'

Je n'en suis qu'aux tests, et le gros problème pour l'instant est que je ne peux pas faire de recherche multi-champs.
Je posterai ici mes avancées, s'il y en a que ca intéresse ;) ;) ;)
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
23 mars 2009 à 09:59
> Les navigateurs usuels proposent déjà ce type de choses.

Moi mon navigateur, il ne me propose aucun code :o)

Tu veux peut-etre parler des moteurs de recherche usuels.
Le probleme est qu'ils ne te permettent pas de faire des recherches sur tes propres donnees.

Ce type de code, meme si on a l'habitude d'en voir le resultat tous les jours sous google ou autres, reste non trivial a implementer proprement.

Merci pour ton code mdc888fr qui represente un bon point de depart, malgres quelques petits defauts (par exemple, je ne suis pas sur que ton code elimine correctement les tags <script> ou <style>).

Eric
rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009
23 mars 2009 à 09:32
Les navigateurs usuels proposent déjà ce type de choses. Non ? Pourquoi faire un tel code ?
Rejoignez-nous