Текст и ссылки

Mebpuf

Client
Регистрация
12.03.2019
Сообщения
48
Благодарностей
1
Баллы
8
Всем привет. Есть тексты в файлах TXT. В них по пять ссылок на картинки. Одна из них имеет неправильный url (в каждом файле это разные ссылки). Ее нужно просто удалить из текста. Не могу сообразить. Подскажите. Пример.
HTML:
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
<p>Создание и использование ароматических веществ для тела и одежды не является новым явлением. Древние цивилизации, такие как Египет, Греция и Рим, использовали ароматические масла и экстракты для различных целей. </p>

<h2>Эксклюзивные ароматы  духов от : отзывы и рекомендации</h2>

<br />ЭТО НУЖНО УБРАТЬ, ВЕСЬ КОД КАРТИНКИ, НАЧИНАЯ с тега img, УРЛ В КАЖДОМ ДОКУМЕНТЕ РАЗНЫЙ

<img src="https://NEPRAVILNUY.RU/images/categories/reviews/review_43488_0_max.jpg" class=""/>

<p>Мужские духи являются важной частью образа современного мужчины. Они создают ощущение уверенности, привлекательности и стильности. В поисках лучшего аромата многие представители сильного пола выбирают продукцию компании Магнит Косметик.</p>

<h2>Как правильно выбрать мужские духи: советы экспертов </h2>
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/e78773123066987960e37c40119bed05.png" class=""/>
<p> Однако, выбор подходящего аромата может стать настоящей проблемой для тех, кто не знает особенностей парфюмерии и не уверен в своих предпочтениях.</p>
<p>является одной из крупнейших розничных сетей в России, которая специализируется на прода
 
Последнее редактирование:

Nord

Client
Регистрация
22.03.2012
Сообщения
2 404
Благодарностей
1 469
Баллы
113
Что такое "неправильные ссылки"?
 

Mebpuf

Client
Регистрация
12.03.2019
Сообщения
48
Благодарностей
1
Баллы
8

Nord

Client
Регистрация
22.03.2012
Сообщения
2 404
Благодарностей
1 469
Баллы
113
  • Спасибо
Реакции: Mebpuf

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
545
Благодарностей
1 124
Баллы
93
Всем привет. Есть тексты в файлах TXT. В них по пять ссылок на картинки. Одна из них имеет неправильный url (в каждом файле это разные ссылки). Ее нужно просто удалить из текста. Не могу сообразить. Подскажите. Пример.
HTML:
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
<p>Создание и использование ароматических веществ для тела и одежды не является новым явлением. Древние цивилизации, такие как Египет, Греция и Рим, использовали ароматические масла и экстракты для различных целей. </p>

<h2>Эксклюзивные ароматы  духов от : отзывы и рекомендации</h2>

<br />ЭТО НУЖНО УБРАТЬ, ВЕСЬ КОД КАРТИНКИ, НАЧИНАЯ с тега img, УРЛ В КАЖДОМ ДОКУМЕНТЕ РАЗНЫЙ

<img src="https://NEPRAVILNUY.RU/images/categories/reviews/review_43488_0_max.jpg" class=""/>

<p>Мужские духи являются важной частью образа современного мужчины. Они создают ощущение уверенности, привлекательности и стильности. В поисках лучшего аромата многие представители сильного пола выбирают продукцию компании Магнит Косметик.</p>

<h2>Как правильно выбрать мужские духи: советы экспертов </h2>
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/e78773123066987960e37c40119bed05.png" class=""/>
<p> Однако, выбор подходящего аромата может стать настоящей проблемой для тех, кто не знает особенностей парфюмерии и не уверен в своих предпочтениях.</p>
<p>является одной из крупнейших розничных сетей в России, которая специализируется на прода
Фильтрация HTML от не нужных ссылок::
string text = project.Variables["text"].Value; // переменная с исходным текстом
string searchTarget = "NEPRAVILNUY.RU";

/* В searchTarget можно указать как ссылку которая из прошлого источника "https://NEPRAVILNUY.RU/" или "NEPRAVILNUY.RU"
так и другие особенности ссылки. Например: "/images/categories/".
*/

return string.Join("\r\n", text
    .Split(new[] { "\r\n" }, StringSplitOptions.None)
    .Where(line => !line.Contains(searchTarget)));
Результат:
HTML:
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
<p>Создание и использование ароматических веществ для тела и одежды не является новым явлением. Древние цивилизации, такие как Египет, Греция и Рим, использовали ароматические масла и экстракты для различных целей. </p>

<h2>Эксклюзивные ароматы  духов от : отзывы и рекомендации</h2>

<br />ЭТО НУЖНО УБРАТЬ, ВЕСЬ КОД КАРТИНКИ, НАЧИНАЯ с тега img, УРЛ В КАЖДОМ ДОКУМЕНТЕ РАЗНЫЙ


<p>Мужские духи являются важной частью образа современного мужчины. Они создают ощущение уверенности, привлекательности и стильности. В поисках лучшего аромата многие представители сильного пола выбирают продукцию компании Магнит Косметик.</p>

<h2>Как правильно выбрать мужские духи: советы экспертов </h2>
<br />
<img src="http://PRAVILNUY.RU/wp-content/uploads/2023/06/e78773123066987960e37c40119bed05.png" class=""/>
<p> Однако, выбор подходящего аромата может стать настоящей проблемой для тех, кто не знает особенностей парфюмерии и не уверен в своих предпочтениях.</p>
<p>является одной из крупнейших розничных сетей в России, которая специализируется на прода
upd: добавил шаблон и пример результата на основе текста ТС.

↓ Приложил рабочий шаблон
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Sho, isaacfks и Mebpuf

Mebpuf

Client
Регистрация
12.03.2019
Сообщения
48
Благодарностей
1
Баллы
8
Какой признак у неправильных?

/images/categories/reviews/
?
Логика такая - Нужно удалять из текста все строки с тегами img в которых сссылка не соответствует моему урлу (в данном случае PRAVILNUY. ru) Пример-
HTML:
<img src="http://PRAVILUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
<p>Создание и использование ароматических веществ для тела и одежды не является новым явлением.

<h2>Эксклюзивные ароматы мужских духов от Магнит Косметик: отзывы и рекомендации</h2><br />
СТРОКУ НИЖЕ УДАЛИТЬ ТАК КАК ОНА НЕ СООТВЕТСТВУЕТ ПРАВИЛЬНОМУ УРЛУ (В ДАННОМ СЛУЧАЕ ПРАВИЛЬНЫЙ УРЛ  - PRAVILUY.RU)

<img src="https://cdn.aroma-butik.ru/images/categories/reviews/review_43488_0_max.jpg" class=""/>

<p> Они создают ощущение уверенности, привлекательности и стильности

<h2>Эксклюзивные ароматы мужских духов от Магнит Косметик: отзывы и рекомендации</h2><br />
СТРОКУ НИЖЕ УДАЛИТЬ ТАК КАК ОНА НЕ СООТВЕТСТВУЕТ ПРАВИЛЬНОМУ УРЛУ (В ДАННОМ СЛУЧАЕ ПРАВИЛЬНЫЙ УРЛ  - PRAVILUY.RU)

<img src="https://butiko.ru/images/categories/reviews/review_4678.jpg" class=""/>

<p>Являются важной частью образа современного мужчины.

<img src="http://PRAVILUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
Они используются для создания образа, подчеркивания индивидуальности и привлечения внимания окружающих.
Т.Е нужно оставить первое и последнее совпадение
 

Mebpuf

Client
Регистрация
12.03.2019
Сообщения
48
Благодарностей
1
Баллы
8
Всем спасибо за помощь. Сделал сам на кубиках
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
545
Благодарностей
1 124
Баллы
93
Логика такая - Нужно удалять из текста все строки с тегами img в которых сссылка не соответствует моему урлу (в данном случае PRAVILNUY. ru) Пример-
HTML:
<img src="http://PRAVILUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
<p>Создание и использование ароматических веществ для тела и одежды не является новым явлением.

<h2>Эксклюзивные ароматы мужских духов от Магнит Косметик: отзывы и рекомендации</h2><br />
СТРОКУ НИЖЕ УДАЛИТЬ ТАК КАК ОНА НЕ СООТВЕТСТВУЕТ ПРАВИЛЬНОМУ УРЛУ (В ДАННОМ СЛУЧАЕ ПРАВИЛЬНЫЙ УРЛ  - PRAVILUY.RU)

<img src="https://cdn.aroma-butik.ru/images/categories/reviews/review_43488_0_max.jpg" class=""/>

<p> Они создают ощущение уверенности, привлекательности и стильности

<h2>Эксклюзивные ароматы мужских духов от Магнит Косметик: отзывы и рекомендации</h2><br />
СТРОКУ НИЖЕ УДАЛИТЬ ТАК КАК ОНА НЕ СООТВЕТСТВУЕТ ПРАВИЛЬНОМУ УРЛУ (В ДАННОМ СЛУЧАЕ ПРАВИЛЬНЫЙ УРЛ  - PRAVILUY.RU)

<img src="https://butiko.ru/images/categories/reviews/review_4678.jpg" class=""/>

<p>Являются важной частью образа современного мужчины.

<img src="http://PRAVILUY.RU/wp-content/uploads/2023/06/bb47ffb41a5499a76ef1ecfd06646cdc.jpg" class=""/>
Они используются для создания образа, подчеркивания индивидуальности и привлечения внимания окружающих.
Т.Е нужно оставить первое и последнее совпадение
Решение как с обычным текстом:
Поиск не похожих ссылок и удаление:
var text = project.Variables["text"].Value;
string searchTarget = "PRAVILNUY.RU";

return string.Join(Environment.NewLine, text.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)
    .Where(line => !line.Contains("<img") || Regex.IsMatch(line, $@"\b{searchTarget}\b")));
Либо с помощью AGPack:
C#:
var html = project.Variables["text"].Value;
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
return htmlDoc.DocumentNode.Descendants("img")
    .Where(imgNode => !Regex.IsMatch(new Uri(imgNode.GetAttributeValue("src", "")).Host, @"^PRAVILNUY\.RU$", RegexOptions.IgnoreCase))
    .Aggregate(htmlDoc.DocumentNode.OuterHtml, (current, imgNode) => current.Replace(imgNode.OuterHtml, ""));
* не забудьте подключить в using.

Всем спасибо за помощь. Сделал сам на кубиках
Не успел ответить. :ah:
Но я надеюсь, что решение все равно будет полезно.)

upd: Добавил шаблон ↓
 

Вложения

Последнее редактирование:

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