Accueil > Forum > > > > limiter la taille d'un texte
limiter la taille d'un texte
vendredi 14 mars 2008 à 16:05:35 |
limiter la taille d'un texte

joebuz
|
Bonjour, pour un moteur de recherche, je cherche à couper le texte environ 5 mots avant et apres le mot recherché.
pour rechercher un mot ou une expression dans un texte, j'utilise :
$search = la recherche client $resume = le texte dans lequel la recherce se fait
$mots = explode(' ', $search); foreach($mots as $mot) { $replace2='<font color=#33ccff><b>'.$mot.'</b></font>'; $resume2 = str_replace($mot,$replace2,$resume); }
Ceci me permet de changer la couleur des mots recherché ($search) dans le texte ($resume) le probleme est que le texte est tres long et que j'ai pas envie de tout renvoyer, juste une ligne avec le mot recherché serait suffisant.
Ex d'affichage souhaité :
....blabla bla bla bla bla blabla blablblabla bla bn la labl blablb ....
merci
|
|
vendredi 14 mars 2008 à 17:19:45 |
Re : limiter la taille d'un texte

joebuz
|
ya bien la fonction substr()
$echo_resume = substr($resume, 0, 25); $combien =strlen($resume); if($combien <= 25){ $affich = " ".$echo_resume."<br>";} else{ $affich = " ".$echo_resume."...<br>";}
echo $affich;
mais le probleme c'est que ça coupe uniquement le texte à un endroit precis et non à un endroit variable, il faudrait pouvoir appliquer la fonction substr($resume, 5, -5); par exemple ou 5 et -5 sont definis à partir de $mot ! mais ça je sais pas faire !!!
|
|
vendredi 14 mars 2008 à 17:59:53 |
Re : limiter la taille d'un texte

neigedhiver
|
Salut,
Cherche du côté des expressions régulières : - http://fr.php.net/pcre - http://lumadis.be/regex/tuto_pcre.php
Je suis sûûûûr que tu y trouveras ton bonheur.
Allez, t'as de la chance, j'adore les PCRE :
preg_match_all(sprintf('`(\b(?:\w+\s){0,5}%s(?:\s\w+){0,5}\b)`', $mot_a_trouver), $chaine_ou_chercher, $matches);
Logiquement, ça le fait, si je ne me suis pas planté en recopiant ici... Pour l'explication de comment pourquoi, je te renvoies sur le tuto donné en lien ci-dessus.
Neige
|
|
samedi 15 mars 2008 à 10:53:55 |
Re : limiter la taille d'un texte

joebuz
|
j'ai essayé ça (pour essai):
preg_match_all(sprintf('`(\b(?:\w+\s){0,5}%s(?:\s\w+){0,5}\b)`', $search), $descriptif, $matches);
echo $matches[0][0]."<br>".$matches[0][1]."<br>".$matches[0][2]."<br>".$matches[0][3]."<br>";
ça me renvoie bien le mot cherché $search dans le texte $descriptif, mais uniquement le mot cherché et pas le texte qui entoure ce mot. De plus ça ne fonctionne pas avec une recherche avec plusieurs mots ex : $search = 'afficher texte'
|
|
samedi 15 mars 2008 à 11:09:38 |
Re : limiter la taille d'un texte

joebuz
|
Pardon, autant pour moi ça fonctionne bien !!!
Par contre, ça ne prends pas en compte les accents et la ponctuation
|
|
samedi 15 mars 2008 à 14:53:35 |
Re : limiter la taille d'un texte
|
samedi 15 mars 2008 à 18:30:05 |
Re : limiter la taille d'un texte

neigedhiver
|
Réponse acceptée !
Salut,
Essaie ce motif : `(\b(?:[^\s]+\s){0,5}le(?:\s[^\s]+){0,5}\b)`
Remis dans le code que je t'avais donné, ça donne ça :
preg_match_all(sprintf('`(\b(?:[^\s]+\s){0,5}%s(?:\s[^\s]+){0,5}\b)`', $mot_a_trouver), $chaine_ou_chercher, $matches);
\w est un caractère de mot : a priori, il ne prend pas en compte la ponctuation. Je l'ai donc remplacé par [^\s] qui accepte tous les caractères sauf les caractères d'espacement (espace, tab, etc). Et avec l'option de recherche i, la recherche n'est pas sensible à la casse :
preg_match_all(sprintf('`(\b(?:[^\s]+\s){0,5}%s(?:\s[^\s]+){0,5}\b)`i', $mot_a_trouver), $chaine_ou_chercher, $matches);
Neige
|
|
samedi 15 mars 2008 à 20:37:41 |
Re : limiter la taille d'un texte

joebuz
|
Impeccable, Merci !!!!!!!!!!!!
|
|
Cette discussion est classée dans : texte, mot, mots, bla, recherché
Répondre à ce message
Sujets en rapport avec ce message
Help : (str_replace) et (split ou explode) ne marchent pas ! ? [ par slmnsnts ]
Salut tt le monde !G ajouté une page de recherche dans mon forum et ca marche tres bien ... le seul prob C lorsque qu'on cherche des mots avec plusieu
Question pour les pros... [ par okaneganai ]
bonjour Messieurs-Dames. je vous explique mon problème. J'ai créé un dictionnaire en ligne de japonais (http://www.dictionnaire-japonais.fr) et j'ai
Censurer des mots dans sa page [ par tony4758 ]
Bonjour je suis un débutant dans le langage php et je cherche depuis longtemps un script a mettre dans ma page permettant de transformer les mots gros
code perso: balises spéciales [ par Samiby ]
Bonjour,Je programme actuellement un blog, et pour poster des lessages, j'ai créé un code personnalisé.J'ai un prblème avec les images.La syntaxe de m
faire une recherche par mot clé dans un texte [ par maurimaure ]
Bonjour, J'ai des docs en registrés dans ma BDD, j'aimerais faire des récherches par mots clés sur ces docs enfin de n'en afficher que les docs qu
recherche de texte [ par RM50Man ]
Bonjour , comment faire pour rechercher du texte par exemple:je veux rechercher un mot qui commence par Aselect * from table where mot = 'A*'On fait c
Mots [ par kenny18 ]
Salut,J'ai cherché un peu partout sans vraiment trouver ce qu'il me faut ou alors j'ai loupé la coche..!Je recherche comment faire pour extraire une s
Fichier texte vers BDD SQL [ par vl92 ]
Bonjour,J'ai un fichier texte (.txt) avec une liste de plus de 300 mots, sans balise, avec un mot par ligne.Je voudrais insérer chacun des 300 mots da
Remplacer un mot par un lien mais pas si le mot est dans un lien [ par allergie ]
Bonjour, je bute depuis ce matin sur un problème bête. Je remplace la première occurence d'un mot s'il correspond au titre d'une liste dans une base
Parser une chaine [ par TiotBour ]
Bonjour,J'ai un fichier log, qui enregistrer un à un des actions, dans le genre : (From User1) texte bla bla bla (From Toto) ah ah ah (From Julie) Hu
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|