-1
votes

Strip HTML éléments dans DIV

J'ai un simple moteur de recherche sur l'un de nos plus anciens sites Web. Ce site exécute IIS 6.0 sur Windows Server 2003. La fonctionnalité de recherche est fournie par Microsoft Indexing Service.

Vous pouvez voir la fonctionnalité de recherche sur notre Site Web . (Tapez simplement des "haut-parleurs" et vous verrez des hits.

J'aimerais utiliser la fonction "Fullhit" offerte par le service d'indexation. Lors de l'utilisation de cette fonctionnalité, le service d'indexation insère les résultats du succès complet Entre "Begindetail" et "Enddetail" sur une page Web cible.

Le problème que j'ai, c'est que les documents qui sont renvoyés ont HTML. Cela semble désordonné. (Il suffit de cliquer sur "Hit Locator Tool". dans les résultats de la recherche ci-dessus pour voir ce que je veux dire.)

Je voudrais créer une section div, telle que ... xxx

puis, après La page est remplie que je souhaite utiliser JavaScript pour supprimer tous les éléments HTML (mais pas les données) entre l'ouverture et la fermeture de DIV.

par exemple, Bonnes données serait modifiée pour afficher uniquement de bonnes données .

Je peux également utiliser une aspersion classique si nécessaire.

S'il vous plaît laissez-moi savoir si vous avez des suggestions ou connaissez des fonctions que je peux ajouter à la page cible pour accomplir ce TA sk.

Merci d'avance.


1 commentaires

Si vous supprimez toutes les étiquettes, vous obtiendrez également des cas où les pauses de la ligne disparaissent, éventuellement mettre beaucoup de texte sur une ligne.


3 Réponses :


0
votes

C'est ce que j'ai utilisé pour accomplir ce que vous essayez de faire.

string-strip-html

Cela a bien fonctionné pour moi.


0 commentaires

1
votes

J'ai inspecté votre page Web et il doit certainement être des erreurs logiques dans votre code ASP. (1) au lieu de quelque chose comme

div> code> étant transmis sur le navigateur, il s'agit d'entités HTML pour des caractères spéciaux, il est donc passé de transmettre comme & ltdiv & gt & lt / div et gt Code>, qui est très moche et c'est pourquoi il ralentit un texte au lieu du code HTML. Dans votre code ASP, vous ne devez pas analyser le texte du résultat de la recherche avant de le transmettre au navigateur. (2) Tout ce code mal formaté est inséré après la première balise de fermeture HTML code> HTML CODE>, puis il existe une fermeture corps code> et HTML code> Tags après Le code mal formaté, donc quelque part dans votre code ASP, vous lui indiquez d'ajouter le code à la fin du document, plutôt que de l'insérer à l'intérieur de l'original code> code>.

Si vous souhaitez décoder le mélange d'entités HTML, code> balises et texte dans HTML rendu, ce JavaScript peut fonctionner: P>

window.onload = function() {
    var text = decodeHTMLEntities(document.body.innerText);
    document.write(text);
}

function decodeHTMLEntities(text) {
    var entities = [
        ['amp', '&'],
        ['apos', '\''],
        ['#x27', '\''],
        ['#x2F', '/'],
        ['#39', '\''],
        ['#47', '/'],
        ['lt', '<'],
        ['gt', '>'],
        ['nbsp', ' '],
        ['quot', '"']
    ];

    for (var i = 0, max = entities.length; i < max; ++i) 
        text = text.replace(new RegExp('&'+entities[i][0]+';', 'g'), entities[i][1]);

    return text;
} 


1 commentaires

Merci pour la réponse rapide. J'utilisais des fichiers TXT (sans balises HTML, HEAD ou BORD), comme indiqué les documents de fichier pour la page Table des matières ASP. En convertissant le document TXT en une page HTML standard, elle a corrigé le problème. Je vais revenir en arrière et changer le fichier incluant les liens en ligne.



0
votes

J'ai maintenant la fonction de recherche fonctionnant comme prévu. Je voudrais remercier tout le monde pour ses commentaires perspicaces. Ce retour m'a aidé à identifier et à résoudre le problème.

OS: Windows Server 2003 IIS: 6.0 Microsoft Index Server

L'outil de localisation HIT ne fonctionnera correctement que pour les pages HTML. Si vous utilisez cet outil avec un simple fichier TXT, les résultats ne seront pas affichés correctement.


0 commentaires