Вопрос про макросы HTMLDECODE и COUNTUP1/2 (посчитать количество слов)

Тема в разделе "Решение различных задач по парсингу", создана пользователем garat, 24 мар 2018.

  1. garat

    garat New Member Пользователи

    Регистрация:
    23 июл 2017
    Сообщения:
    15
    Здравствуйте всем!
    Уважаемые профи подскажите пжл решение проблемы

    1) имеется строка при парсинге:
    Код:
    "Ближе к народу" от Yves Saint Laurent
    мне нужно удалить лишние html сущности - применяю макрос HTMLDECODE
    итого выглядит так:
    Код:
    "Ближе к народу" от Yves Saint Laurent
    как видно из рез-та - убрался только один символ - а второй остался -
    напрашивается решение повторить этот макрос для удаления оставшихся лишних символом - но вот не пойму - как это сделать? как повторить стразу же этот макрос?
    или это делается по другому как то?

    2) мне нужно подсчитать кол-во СЛОВ строке подобной выше в примере
    решение напрашиваеться стандартное - подсчитать пробелы в сроке и прибавать единицу
    нашел вот такой макрос COUNTUP1/2 - который возвращает значение число кол-ва элементов подстроки строке.
    пробую для начало просто подсчитать кол-во пробелов:
    Код:
    [COUNTUP2({ })]<CD_GRAN_1!>[/COUNTUP2]
    но результат один и тот же - число 1
    то есть я видимо как то неправильно указываю символ пробела или данный макрос не для этого.

    Подскажите пжл как подсчитать кол-во СЛОВ в строке - какое решение существует средствами CD?


    заранее СПС всем
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    1) Проблем не выявлено:
    2018-03-24_18-46-46.png

    2)
    2018-03-24_18-49-27.png
     
    garat нравится это.
  3. garat

    garat New Member Пользователи

    Регистрация:
    23 июл 2017
    Сообщения:
    15
    Сергей спс - всегда выручаете быстро - с подсчетом СЛОВ все супер

    но с декодом не получаеться что то

    вот источники для проверки (брал h1)
    Код:
    https://www.wmj.ru/stil-zhizni/kultura/quot-brilliantovyy-ty-moy-quot.htm
    https://www.wmj.ru/moda/novosti/dolce-amp-gabbana-novye-kollektsii-v-novyy-magazin-01-03-2010.htm
    шаблон тот же самый:
    Код:
    [HTMLDECODE]<CD_GRAN_1!>[/HTMLDECODE]
    вот скрины
    Код:
    https://pastenow.ru/933e69b2e9066729bbcfedbe10ba59f1
    https://pastenow.ru/06e8675d83313ae7e28f5c62cf26c2aa
    вообщем проблема в том что если два символа - то один остается все равно. Может проблема в том что через границу(парсинг в сети)? а не локально когда вы проверяли
     
    Последнее редактирование: 24 мар 2018
  4. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    просто в поиск/замену (ctrl+4) внесите вот такие замены, вам их нужно на самом деле до 5 шт
    &nbsp;|на пробел
    &copy;|©
    &quot;|"
    &amp;|&
    да и в принципе все.
    если будут еще какие-то, то можно свериться с
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
     
    garat нравится это.
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Приложите файл проекта.
     
    garat нравится это.
  6. garat

    garat New Member Пользователи

    Регистрация:
    23 июл 2017
    Сообщения:
    15
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 200 постов.**
    Ссылки недоступны для гостей спс - это понятно что так можно сделать
    Я вас часто вижу на форуме зеннолаба - так вот к слову - у зенки этот метод (System.Web.HttpUtility.HtmlDecode) также отрабатывает - удаляет только один символ за раз - приходиться повторять его в цикле минимум два раза для полной очистки от символа-Ссылки недоступны для гостей. Возможно что то я не так делаю и думал CD как всегда поможет-выручит.
     
  7. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Потестил. берите значение из h1 там все нормально обрабатывает.
    В title глюк какой-то
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    по этой ссылке в тайтл амперсанд превратился в &amp; непонятно почему, при этом в h1 стоит нормальный &quot; b HTMLDECODE работает правильно.
    Хотя было бы конечно приятно, чтоб такой глюк тоже обрабатывался.
     
    garat нравится это.
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Функция работает правильно.

    На этом сайте вывод данных некорректный:
    &amp;quot;

    А должно быть:
    &quot;

    Поиск-заменой для исходного кода (shift+ctrl+r) замените &amp; на &:
    &amp;|&
     
    xLime и garat нравится это.

Поделиться этой страницей