Полоска HTML элементов в DIV - PullRequest
       49

Полоска HTML элементов в DIV

0 голосов
/ 01 февраля 2020

У меня есть простая поисковая система на одном из наших старых сайтов. Этот сайт работает под управлением IIS 6.0 на Windows Server 2003. Функция поиска предоставляется службой индексации Microsoft.

Функцию поиска можно найти на нашем веб-сайте . (Просто введите «колонки», и вы увидите несколько совпадений.

Я хотел бы использовать функцию «FullHit», предлагаемую службой индексирования. При использовании этой функции служба индексирования вставляет полные результаты попаданий между «begindetail» и «enddetail» на целевой веб-странице.

Проблема, с которой я сталкиваюсь, заключается в том, что возвращаемые документы имеют HTML. Это выглядит грязно (просто нажмите «Hit Locator Tool» в результатах поиска выше, чтобы понять, что я имею в виду.)

Я хотел бы создать раздел DIV, например ...

<DIV name="target">

     begindetail

     enddetail

 </DIV>

Затем, после заполнения страницы, я хотел бы использовать javascript для удаления всех элементов HTML (но не данных) между открывающим и закрывающим DIV.

Например, <FONT color="magenta">Good Data</FONT> будет изменен, чтобы показывать только Good Data.

Я также могу использовать Classi c ASP, если необходимо.

Пожалуйста, дайте мне знать, если у вас есть предложения или какие-либо функции, которые я могу добавить на целевую страницу для выполнения sh это задание.

* 102 3 * Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 01 февраля 2020

Я проверил вашу веб-страницу, и в вашем коде ASP наверняка должны быть ошибки logi c. (1) Вместо того, чтобы что-то вроде <div></div> передавалось в браузер, это HTML сущности для специальных символов, поэтому оно передаётся как &ltDIV&gt &lt/DIV&gt, что очень уродливо и поэтому оно отображается как текст вместо HTML код. В вашем ASP коде вы не должны анализировать текст результата поиска, прежде чем передавать его в браузер. (2) Весь этот неправильно отформатированный код вставляется после первого закрывающего тега html, а затем есть закрывающие теги body и html после неправильно отформатированного кода, поэтому где-то в вашем коде ASP, вы говорите, чтобы он добавлял код в конец документа, а не вставлял его внутри оригинального <body></body>.

Если вы хотите декодировать смесь HTML сущностей, тегов <br>, и текст в HTML, это JavaScript может работать:

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;
} 

jsFiddle: https://jsfiddle.net/6ohc1tkr/

Но обо всем по порядку , вам нужно исправить свой ASP код или что-то еще, что вы используете для анализа, а затем отобразить результаты поиска. Вот что вызывает неправильное форматирование и отображение HTML. Покажите нам свой внутренний код, и мы поможем вам.

0 голосов
/ 13 февраля 2020

У меня теперь функция поиска работает как положено. Я хотел бы поблагодарить всех за их проницательные комментарии. Эта обратная связь помогла мне определить и устранить проблему.

ОС: Windows IIS Server 2003: 6.0 Microsoft Index Server

Средство поиска обращений будет работать корректно только для HTML страниц. Если вы используете этот инструмент с простым файлом TXT, результаты не будут отображаться правильно.

0 голосов
/ 01 февраля 2020

Это то, что я использовал для достижения sh того, что вы пытаетесь сделать.

string-strip- html

Это сработало довольно хорошо для меня.

...