Удалить ссылки из текста

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
есть текст примерно такого вида:
текст текст тексттекст текст текст текст текст тексттекст <a href="link.com">текст link.com внутри</a> текст текст текст тексттекст текст текст
текст текст тексттекст текст текст текст текст тексттекст текст текст текст текст тексттекст текст текст
текст текст тексттекст текст <a href="url.ru">текст url.ru внутри</a> текст текст текст тексттекст текст текст

нужно удалить тег ссылки с определенным урлом "url.ru" при этом текст который залинкован должен остаться, т.е. после обработки текст должен выглядеть так:

текст текст тексттекст текст текст текст текст тексттекст <a href="link.com">текст link.com внутри</a> текст текст текст тексттекст текст текст
текст текст тексттекст текст текст текст текст тексттекст текст текст текст текст тексттекст текст текст
текст текст тексттекст текст текст url.ru внутри текст текст текст тексттекст текст текст

как это сделать подскажите пожалуйста?
 

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
287
Благодарностей
97
Баллы
28

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 816
Баллы
113
Экшен Данные-Обработка текста-Замена (Regex). И используя группы в регулярных выражениях.

Поле "Что искать" - <a[^>]*href="https://zennolab\.com".*?>(.*?)</a>
Поле "На что заменить" - $1
66573


Lorem Ipsum - это текст-"рыба", <a href="https://google.com">часто используемый в печати</a> и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века. <a id="zp" name="zennolab" data-style="empty" href="https://zennolab.com">В то время некий безымянный</a> печатник создал большую коллекцию размеров <a id="zp" name="zennolab" data-style="empty" href="https://zennolab.com">и форм шрифтов, https://zennolab.com используя</a> Lorem Ipsum для распечатки образцов.

Lorem Ipsum - это текст-"рыба", <a href="https://google.com">часто используемый в печати</a> и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века. В то время некий безымянный печатник создал большую коллекцию размеров и форм шрифтов, https://zennolab.com используя Lorem Ipsum для распечатки образцов.
 
  • Спасибо
Реакции: Alexmd и twisterrr

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
C#:
string varname = "test";//имя переменной
string url = "url.ru";//ссылка, с которой надо снять теги

string text = project.Variables[varname].Value;
foreach(string link in Macros.TextProcessing.Regex(text, @"<a.*?</a>").Select(g => g.FirstOrDefault())){
    if(link.Contains(url)){
        string DeleteHtml = Regex.Replace(link, @"<.*?>", string.Empty).Trim();
        text = text.Replace(link, DeleteHtml);
    }
}
project.Variables[varname].Value = text;
Вставить в свой код. Вернет обработанный текст в исходную переменную.
 
Последнее редактирование:
  • Спасибо
Реакции: twisterrr

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
Экшен Данные-Обработка текста-Замена (Regex). И используя группы в регулярных выражениях.

Поле "Что искать" - <a[^>]*href="https://zennolab\.com".*?>(.*?)</a>
Поле "На что заменить" - $1
я понял, не знал что можно использовать в замене номер группы в регулярке, спасибо :ay:
 

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
C#:
string varname = "test";//имя переменной
string url = "url.ru";//ссылка, с которой надо снять теги

string text = project.ExecuteMacro(project.Variables[varname].Value);
foreach(string link in Macros.TextProcessing.Regex(text, @"<a.*?</a>").Select(g => g.FirstOrDefault())){
    if(link.Contains(url)){
        string DeleteHtml = Regex.Replace(link, @"<.*?>", string.Empty).Trim();
        text = text.Replace(link, DeleteHtml);
    }
}
project.Variables[varname].Value = text;
Вставить в свой код. Вернет обработанный текст в исходную переменную.
отлично! пригодится.. спасибо
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
  • Спасибо
Реакции: twisterrr

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)