begin process at 2012 05 27 06:53:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > HIGHLIGHTING DE MOTS CLÉS TROUVÉS DANS UN TEXTE

HIGHLIGHTING DE MOTS CLÉS TROUVÉS DANS UN TEXTE


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :highlighting, mot, clé, texte Niveau :Initié Date de création :23/09/2005 Vu :6 322

Auteur : thecrax

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de créer un paragraphe à partir d'une recherche de mots clés dans un texte.
Le paragraphe constitué a une taille que l'on peut définir et les mots clés qui y sont contenus sont surlignés.

Source

  • ' remplace le mot clé dans le texte
  • function ereg_replace(tx,rg,ch)
  • set regEx = New RegExp
  • regEx.IgnoreCase = True
  • regEx.Global = True
  • regEx.Pattern = rg
  • ereg_replace = regEx.replace(tx,ch)
  • end function
  • ' fonction principale
  • Function GetWrappingText(strSearchText, strKeywords, intLength)
  • 'déclaration des variables
  • Dim tmpText
  • Dim tmpKeywords
  • Dim intKeywordPos
  • Dim intLimit
  • Dim strBefore
  • Dim strAfter
  • tmpText= strSearchText
  • tmpKeywords= strKeywords
  • intLimit= intLength
  • Dim aryKeywords
  • aryKeywords = Split(tmpKeywords," ", 100) 'space delimiter
  • 'test si il ya un mot clé dans le texte
  • intKeywordPos = instr(lcase(tmpText),lcase(aryKeywords(0)))
  • Dim intLength1
  • If intKeywordPos <> 0 Then 'found a keyword
  • 'extrait le texte situé avant le mot clé
  • strBefore = Left(tmpText, intKeywordPos-1)
  • If Len(strBefore) > intLimit Then
  • intLength1 = Len(strBefore) - intLimit
  • strBefore = Right(strBefore, intLimit)
  • End If
  • intLength1 = intKeywordPos + Len(aryKeywords(0)) '.ToString.Length
  • Dim intLength2
  • intLength2 = Len(tmpText)
  • strAfter = Right(tmpText, Len(tmpText)-intLength1+1)
  • If Len(strAfter) > intLimit Then
  • intLength1 = Len(strAfter) - intLimit
  • strAfter = Left(strAfter, intLimit)
  • End If
  • tmpText = strBefore & aryKeywords(0) & strAfter 'tostring
  • Dim j
  • 'Test chaque mot clé pour savoir si il est dans le texte
  • j=0
  • Do While j <= UBound(aryKeywords)
  • If (Len(trim(aryKeywords(j))) > 0) Then 'tostring
  • 'Remplacement du mot clé grâce à une expression régulière
  • Dim input, replacement
  • input = tmpText
  • replacement= "<span style=""background-color: yellow;"">" + aryKeywords(j) & "</span>"
  • tmpText = ereg_replace(input, aryKeywords(j), replacement)
  • End If
  • j = j + 1
  • Loop
  • tmpText = "..." & tmpText
  • End If
  • GetWrappingText= tmpText
  • End Function
' remplace le mot clé dans le texte
function ereg_replace(tx,rg,ch)
   set regEx = New RegExp
   regEx.IgnoreCase = True
   regEx.Global = True
   regEx.Pattern = rg
   ereg_replace = regEx.replace(tx,ch)
end function

' fonction principale
Function GetWrappingText(strSearchText, strKeywords, intLength)
  'déclaration des variables
  Dim tmpText
  Dim tmpKeywords
  Dim intKeywordPos
  Dim intLimit
  Dim strBefore
  Dim strAfter
  tmpText= strSearchText
  tmpKeywords= strKeywords
	intLimit= intLength
	

  Dim aryKeywords
  aryKeywords = Split(tmpKeywords," ", 100) 'space delimiter
  'test si il ya un mot clé dans le texte
  intKeywordPos = instr(lcase(tmpText),lcase(aryKeywords(0)))
 
  Dim intLength1
  If intKeywordPos <> 0 Then 'found a keyword
    'extrait le texte situé avant le mot clé
    strBefore = Left(tmpText, intKeywordPos-1) 

    If Len(strBefore) > intLimit Then
      intLength1 = Len(strBefore) - intLimit
      strBefore = Right(strBefore, intLimit)

    End If
    intLength1 = intKeywordPos + Len(aryKeywords(0)) '.ToString.Length
   
    Dim intLength2
    intLength2 = Len(tmpText)
    strAfter = Right(tmpText, Len(tmpText)-intLength1+1)

    If Len(strAfter) > intLimit Then
      intLength1 = Len(strAfter) - intLimit
      strAfter = Left(strAfter, intLimit)

    End If
    tmpText = strBefore & aryKeywords(0) & strAfter 'tostring

    Dim j
    'Test chaque mot clé pour savoir si il est dans le texte
    j=0
    Do While j <= UBound(aryKeywords)
      If (Len(trim(aryKeywords(j))) > 0) Then	'tostring
        'Remplacement du mot clé grâce à une expression régulière
        Dim input, replacement
        input = tmpText
        replacement= "<span style=""background-color: yellow;"">" + aryKeywords(j) & "</span>"
        tmpText = ereg_replace(input, aryKeywords(j), replacement)
      End If
      j = j + 1
    Loop
    tmpText = "..." & tmpText
  End If
  GetWrappingText= tmpText
End Function

 Conclusion

Le paragraphe constitué n'est pas forcément celui contenant le plus de mots clés, il est construit autour du premier mot clé trouvé dans le texte. Mais c'est une amélioration possible si des gens sont motivés!


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) ASP.NET - SAVOIR QUAND L'UTILISATEUR FERME LA FENETRE VIA CA... par werdDomain
CLASSE IMBRIQUÉS EN VBSCRIPT DE DOSSIERS (APPLICABLE ASP) par internetdev
Source avec Zip SÉRIALISER / DÉSÉRIALISER DES VARIABLES EN ASP par lejdu
CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET... par dedebis84
Source .NET (Dotnet) RÉCUPÉRER DES VALEURS D'UNE LIGNE DANS UN DATAGRID APRÈS AVO... par PascalCmoa

 Sources en rapport avec celle ci

CHERCHER ET REMPLACER UN MOT DANS UN FICHIER TEXTE par roro59650
CONVERTIR RAPIDEMENT UN FICHIER UPLOADÉ (IMAGE) ET OBTENIR L... par ObelixSuisse
Source avec Zip Source avec une capture Source .NET (Dotnet) FORCOMMUNAUTY WYSIWIG EN VB.NET par tkfe
Source .NET (Dotnet) GARDER LES SAUTS À LA LIGNE DE TEXTES EXTERIEURS par li9
Source avec Zip Source avec une capture Source .NET (Dotnet) CHANGER LE TEXTE DE LA NUMÉRATION DE PAGINATION DATAGRID par mwahid

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de formattage de texte [ par Arken ] Bonjourj'ai le code suivant :j'ai d'abord une variable contenant une chaine de caractère v = "manger" ET "boire"ensuite&lt;INPUT type=text name=x valu recherche présence adresse web ou email dans texte [ par jfm_ ] Bonjour, Je dois vérifier dans ma page si le texte fourni dans un formulaire contient une ou des adresses de courriels et internet et dans ce cas, re zone de texte de mot de passe personnalisé [ par mami17 ] salut comment on peut faire une zone de texte pour le mot de passe pérsonnalisé c-a-d par exemple je veux quand l'utilisateur appuier sur la touche "E Mot Clé - moteur de recherche - Meta Tags [ par scottmat ] Bonjours à tous, Question qui va peut-être paraitre ridicule< Parcourir un texte pour chercher un mot [ par roro59650 ] Bonjour,Aujourd'hui, je cherche comment parcourir un texte afin de chercher un mot, pour pouvoir le remplacer. Je sais comment le remplacer, mais il f trouver en VBA un mot qui se trouve de manière aléatoire dans un champs texte [ par zebulon72 ] Bonjour, Je vais essayais d'être concis, je voudrais effectuer un contrôle après la saisie dans un champ formulaire . Je m'explique, après Convertir du texte en HTML [ par mariusapo ] Bonjour J'ai du texte formaté dans un fichier resource que je veux afficher dans une vue ,je ne sais pas comment m'y prendre Exemple (dans mon fichie Ajouter Un Fichier Texte dans une base de données [ par nabil2388 ] Salut!! j'ai créer un fichier txt comment récupérer les données de ce fichier et les afficher dans une list(asp), et ajouter le contenu de ce liste da


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales