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

  • Автор темы Автор темы twisterrr
  • Дата начала Дата начала

twisterrr

Client
Регистрация
25.12.2011
Сообщения
288
Реакции
24
Баллы
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 внутри текст текст текст тексттекст текст текст

как это сделать подскажите пожалуйста?
 
Экшен Данные-Обработка текста-Замена (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
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
Экшен Данные-Обработка текста-Замена (Regex). И используя группы в регулярных выражениях.

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

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