@m4zuper test.xml
Вроде и нашёл в чём дело, но принцип работы не понял. Если в браузере просмотреть код - текста нет. Если через http анализ трафика в BASe скопировать ответ, его так же нет. Но если скопировать переменную с сохраненным ответом и закинуть в блокнто - текст есть. Эм это как?
Грамотная замена текста
-
Доброе время суток
Пишу парсер статей c сайта, однако в самих статьях есть ссылки (<a>) и эмоджи (<img>). Сама статья уже находится в переменной. Пример статьи:<img class="emoji" src="/emoji/e/f09f94a5.png" alt="🔥"> Mazda назвала цену на свой первый электромобиль Компания Mazda назвала цену на свой первый электромобиль – MX-30. Правда, касается она лишь спецверсии (модели первого издания) и лишь одного рынка. Тем не менее, эта цифра дает как минимум примерную картину того, сколько будет стоить электрокар Mazda MX-30. Новинка стартует с рынка Великобритании, здесь за автомобиль в версии First Edition будут просить от 30 495 фунтов стерлингов ($39 340). Таким образом, свою первую "электричку" Мазда оценили на уровне других бюджетных электрокаров последних поколений. Новый MX-30 оснащен электродвигателем, обеспечивающим 143 л.с. и 264 Нм, а также АКБ емкостью 35,5 кВтч, которой хватает на преодоление расстояния в 200 км по циклу WLTP. Пробег довольно небольшой, однако в Мазде заявляют, что для городского авто больше и не надо: в среднем европейские жители проезжают по 50 км в день. Кроме того, это частично компенсируется быстрой зарядкой: через чарджер мощностью 50 кВт батарею можно зарядить до 80% за 30–40 минут. Стандартное оснащение Mazda MX-30 First Edition также включает в себя проекционный дисплей, круиз-контроль, мультимедиа с Apple CarPlay и Android Auto, электрорегулировки водительского сиденья в 8-и позициях, а также настенное зарядное устройство для дома. Кроме того, за доплату доступна пара эксклюзивных цветов кузова по цене 1,2 тыс. и 1,6 тыс. долларов. <a href="ссылка">#SEAT</a> <a href="ссылка">#АВТО</a> <a href="ссылка">#НОВОСТИ</a> <a href="ссылка">#worldnewscars</a> <a href="ссылка">#автомобили</a> <a href="ссылка">#спорт</a>Как можно поправить/заменить текст что бы текст обошелся без потерь? Заранее спасибо.
-
@mmaxsmile заменить в смысле убрать? Так и писали бы убрать теги оставить текст. Но странно вы ведь могли просто xpath ом текст получить но ладно.
htmltotext = function(string) { try { var text = string.replace(/<br>/gi, "\n") var text = text.replace(/<p.*>/gi, "\n") var text = text.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/gi, " $2 (Link->$1) ") } catch (e) { fail(e) } return text.replace(/<(?:.|\s)*?>/g, "") } ВАШ_ОБРАБОТАННЫЙ_ТЕКСТ = htmltotext([[ВАШ_ТЕКСТ]])Извините заморачиваться не стал. Это из @Pragmatik - а библиотеки. Поизучайте раз вам тексты надо править от разного
url
upd там код символа в атрибуте) вы хотите их разобрать? Ну смотрите таблицу эмоджи кодов что и как. Выдернуть штатно не получается, вернее получается, но это не код.
xpath //img/@alt -
@f0cus код что Вы написали работает как то не корректно

Касательно эмоджи нет, код не нужен, пример оставил ниже (+ как должны выглядеть хэштеги)
Как есть:
<img class="emoji" src="/emoji/e/f09f94a5.png" alt="🔥"> Mazda назвала цену на свой первый электромобиль Компания Mazda назвала цену на свой первый электромобиль – MX-30. Правда, касается она лишь спецверсии (модели первого издания) и лишь одного рынка. Тем не менее, эта цифра дает как минимум примерную картину того, сколько будет стоить электрокар Mazda MX-30. Новинка стартует с рынка Великобритании, здесь за автомобиль в версии First Edition будут просить от 30 495 фунтов стерлингов ($39 340). Таким образом, свою первую "электричку" Мазда оценили на уровне других бюджетных электрокаров последних поколений. Новый MX-30 оснащен электродвигателем, обеспечивающим 143 л.с. и 264 Нм, а также АКБ емкостью 35,5 кВтч, которой хватает на преодоление расстояния в 200 км по циклу WLTP. Пробег довольно небольшой, однако в Мазде заявляют, что для городского авто больше и не надо: в среднем европейские жители проезжают по 50 км в день. Кроме того, это частично компенсируется быстрой зарядкой: через чарджер мощностью 50 кВт батарею можно зарядить до 80% за 30–40 минут. Стандартное оснащение Mazda MX-30 First Edition также включает в себя проекционный дисплей, круиз-контроль, мультимедиа с Apple CarPlay и Android Auto, электрорегулировки водительского сиденья в 8-и позициях, а также настенное зарядное устройство для дома. Кроме того, за доплату доступна пара эксклюзивных цветов кузова по цене 1,2 тыс. и 1,6 тыс. долларов. <a href="ссылка">#SEAT</a> <a href="ссылка">#АВТО</a> <a href="ссылка">#НОВОСТИ</a> <a href="ссылка">#worldnewscars</a> <a href="ссылка">#автомобили</a> <a href="ссылка">#спорт</a>Как надо:
🔥 Mazda назвала цену на свой первый электромобиль Компания Mazda назвала цену на свой первый электромобиль – MX-30. Правда, касается она лишь спецверсии (модели первого издания) и лишь одного рынка. Тем не менее, эта цифра дает как минимум примерную картину того, сколько будет стоить электрокар Mazda MX-30. Новинка стартует с рынка Великобритании, здесь за автомобиль в версии First Edition будут просить от 30 495 фунтов стерлингов ($39 340). Таким образом, свою первую "электричку" Мазда оценили на уровне других бюджетных электрокаров последних поколений. Новый MX-30 оснащен электродвигателем, обеспечивающим 143 л.с. и 264 Нм, а также АКБ емкостью 35,5 кВтч, которой хватает на преодоление расстояния в 200 км по циклу WLTP. Пробег довольно небольшой, однако в Мазде заявляют, что для городского авто больше и не надо: в среднем европейские жители проезжают по 50 км в день. Кроме того, это частично компенсируется быстрой зарядкой: через чарджер мощностью 50 кВт батарею можно зарядить до 80% за 30–40 минут. Стандартное оснащение Mazda MX-30 First Edition также включает в себя проекционный дисплей, круиз-контроль, мультимедиа с Apple CarPlay и Android Auto, электрорегулировки водительского сиденья в 8-и позициях, а также настенное зарядное устройство для дома. Кроме того, за доплату доступна пара эксклюзивных цветов кузова по цене 1,2 тыс. и 1,6 тыс. долларов. #SEAT #АВТО #НОВОСТИ #worldnewscars #автомобили #спорт -
@mmaxsmile Это ТЗ?
Он работает корректно. Так как установлены замены я вам дал ссылку на библиотеку. Потрудитесь изучить если вам это надо. Меняйте replace() в функциях. Как получить emodji я тоже дал.
Если вы собираетесь на этом зарабатывать вы всегда будете спрашивать у меня или тех кто захочет ответить? Мне не трудно сделать, но я не понимаю зачем вам это? Думаете всегда помогать будут? Подсказку дам вот это $2 (Link->$1) Нл вам придется писать функцию самому всю -
-
@f0cus нет, это не ТЗ, а пример. Само собой я понимаю что не всегда мне дадут готовый ответ и пока вопрос не решён я думаю над решением и самостоятельно. В ближайшее время изучу ссылки что Вы кидали.
@GhostZ с ссылками работает отлично, но эмоджи бывают и внутри текста, так что выносить их перед текстом не очень правильно.
-
@mmaxsmile, тогда
replace()и регулярные выражения в помощь -
-
@mmaxsmile Вам нужно понять как это все работает. Как. не выучить или записать где то регулярки и потом их по случаю и без ставить, а понять алгоритм вообще как это работает. Тогда многих проблем вам удастся избежать. Советов не жалко, жалко что если получаются не удочкой и даже не рыбой, а в космос. Если бы вы были знакомы с js и немного html то есть вероятность что вам это дербанить бы не пришлось, я не спроста в первом посте про xpath упомянул. Но даже эту задачу можно решить очень разными способами. Учите js учите html вам же пригодится. в конце концов всегда интересно что один построил
другому сломатьобойти. Это даже душу греет))
upd я вот например знаю, вернее помню хорошо в регулярках только самое основное. Хотя учил вроде). Я знаю алгоритм, а когда мне надо я всегда могу найти ман и прочитать правильное написание. Есть одно из правил которому не учат но его должен знать каждый это уметь находить документацию что в простонародье манами и зовется. Ну и уметь это читать. по разному пишут. -