Как удалить дубли?

Поддержка
  • Как удалить дублирующие ссылки по их тексту, а не атрибуту?
    Допустим:

    <a href="/expPatch">name1</a>
    <a href="/expPatch2">name2</a>
    <a href="/expPatch3">name3</a>
    <a href="/expPatch4">name1</a>
    <a href="/expPatch5">name4</a>
    <a href="/expPatch6">name3</a>
    

    надо очистить от дублей по тексту, то есть удалить из примера:
    <a href="/expPatch4">name1</a> , <a href="/expPatch6">name3</a>

    Как такое можно реализовать ?

  • @Foppy said in Как удалить дубли?:

    Как удалить дублирующие ссылки по их тексту, а не атрибуту?
    Допустим:

    <a href="/expPatch">name1</a>
    <a href="/expPatch2">name2</a>
    <a href="/expPatch3">name3</a>
    <a href="/expPatch4">name1</a>
    <a href="/expPatch5">name4</a>
    <a href="/expPatch6">name3</a>
    

    надо очистить от дублей по тексту, то есть удалить из примера:
    <a href="/expPatch4">name1</a> , <a href="/expPatch6">name3</a>

    Как такое можно реализовать ?

    То есть без разницы какой из вариантов повторяющихся данных останется?

  • @Fox , имеешь виду из href? То да, без разницы. Просто надо по тексту удалить дубликаты.
    Так нужны хрефы, но вот уникальные по тексту.

    Так бы распарсить в массив их и сделать ключи - текст, а значение хреф, потом просто по ключам прогнать циклом.
    Но вот как это в басе реализовать. Возможно есть и проще вариант, буду благодарен.

  • @Foppy said in Как удалить дубли?:

    @Fox , имеешь виду из href? То да, без разницы. Просто надо по тексту удалить дубликаты.
    Так нужны хрефы, но вот уникальные по тексту.

    Так бы распарсить в массив их и сделать ключи - текст, а значение хреф, потом просто по ключам прогнать циклом.
    Но вот как это в басе реализовать. Возможно есть и проще вариант, буду благодарен.

    Данные у вас в массиве, я так полагаю? Создайте ещё два массива, один для данных, второй только для имён. Пройдитесь по данным через "Foreach", получайте текст каждого элемента и проверяйте есть ли он в массиве имён, если нет, то добавляйте текст в массив имён и данные в массив данных.

    В итоге у вас будет массив данных без дубликатов текста

  • @Fox , вообще получаю циклом и записываю в список(ну получается массив) уже чистые хрефы со страницы.
    Я немного запутался. Как будет чиститься массив от дубликатов? По индексу ключа? Проблема в том, что я не знаю как дать свои ключи в списке.

  • @Foppy said in Как удалить дубли?:

    @Fox , вообще получаю циклом и записываю в список(ну получается массив) уже чистые хрефы со страницы.

    В любом случае вам нужен отдельный список имён либо на этапе получения данных, либо на этапе проверки данных.

  • @Fox, я запутался.
    Смотри, получаю массив из элементов, допустим. Потом как мне сравнивать? получать из элемента текст и получать из элемента хреф и создавать с ними массивы? Так у них будет индекс с 0 и до n-числа. Как вычислить тогда к какому тексту принадлежит href.
    Ладно, примерно есть идеи надо потестить, сложновато это делать.

  • @Foppy said in Как удалить дубли?:

    @Fox, я запутался.
    Смотри, получаю массив из элементов, допустим. Потом как мне сравнивать? получать из элемента текст и получать из элемента хреф и создавать с ними массивы? Так у них будет индекс с 0 и до n-числа. Как вычислить тогда к какому тексту принадлежит href.
    Ладно, примерно есть идеи надо потестить, сложновато это делать.

    Сравнивать имена с данными не нужно, вам же нужно только узнать, есть ли данные с такими именами или нет. Для этого из исходных данных нужно добавлять в итоговый массив только те данные, каких имён нет в массиве имён.

    Делать это нужно либо при получении данных, что бы не добавлять дубли изначально. Либо потом во время обработки из итогового массива данных получать данные, имена которых не повторяются.

    Вот такая конструкция:
    25f4d7ff-1566-49d6-8b1a-db35b30e1a28-изображение.png

    Вот такие исходные данные:
    ad67b075-47bd-4b1e-87a5-1de88c6f5451-изображение.png

    Вот такой результат:
    7f20db00-2645-4ddb-b48e-261f213d2844-изображение.png

  • 0 Votes
    7 Posts
    660 Views
  • 0 Votes
    3 Posts
    1985 Views
  • 0 Votes
    6 Posts
    927 Views
  • 0 Votes
    6 Posts
    858 Views
  • 0 Votes
    3 Posts
    1309 Views