繁体   English   中英

移除所有<br>字符串中的标签 - 未按预期工作

[英]Remove all <br> tags from within a string – not working as expected

我已经尝试了十几种解决方案,但似乎没有任何帮助。

HTML:

<div class="mont-text-content mobile">С чего следует начинать запуск своего бизнеса.
    <br><br>Как и где находить идеи для бизнеса.
    <br><br>Как справляться со своими страхами и обрушивающейся критикой родных, друзей и знакомых. Когда вам говорят, что ничего не получится?
    <br><br>Как понять, что вам действительно следует ступать на путь предпринимательства и заниматься бизнесом, а не работать на дядю с 9 до 18.
    <br><br>Как себя мотивировать и находить силы, чтобы не сдаться?
    <br><br>На все эти и другие вопросы вы найдете ответы на нашем юридическом бизнес-вебинаре.</div>

<div class="mont-text-content mobile">Правильный выбор видов деятельности и организационно-правовой формы вашего будущего бизнеса является очень важным фактором.
    <br><br>Во-первых, для легализации деятельности, возможности открытого взаимодействия с государственными и частными органами, контрагентами, инвесторами и пр., оптимизации операций, которые подлежат налогообложению.
    <br><br>А во-вторых, для возможности действовать в рамках правового поля, используя законодательство в качестве мощного инструмента для защиты и развития своего бизнеса.
    <br><br>Вы узнаете, в чём состоит отличие ФЛП на 1 группе от 2 и 3 групп. А также какая организационно-правовая форма, по состоянию на сегодня, является самой оптимальной и менее «затратной» для бизнеса.</div>

JS:

$( ".mont-text-content.mobile" ).each(function( index ) {
    let content = $(this).text();
    let newContent = content.replace(/^(\s*<br\s*\/?\s*>\s*)*|(\s*<br\s*\/?\s*>\s*)*\s*$/g, '');
    alert( index + ": " + newContent );
});

这是一个指向JSFiddle的链接

如您所见, <br>标签被转换为奇怪的 uni-code 字符,并没有从字符串中删除。

你可以做这样的事情,但我不确定这是否最有效:

 var x =    $( ".mont-text-content.mobile" ).html();
 var res = x.replace('<br>',"");
 $(".mont-text-content.mobile" ).html(res);

你可以做这样的对不起用随机文本替换它只是为了更清楚。

 $(".mont-text-content.mobile").each(function() { $(this).html($(this).html().replace(/\<br>/g, "")); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="mont-text-content mobile"> Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit</div> <div class="mont-text-content mobile"> Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit <br><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>

你可以像这样简单地做到这一点:

document.querySelectorAll('.mont-text-content').forEach((divElm) => {
    Array.from(divElm.children).forEach((elm) => {
        if (elm.tagName === 'BR') {
            elm.remove();
        }
    });
});

它在 ES6 中。 但是改写成 ES5 很容易。

首先,我找到了所有名称为 class 的元素,然后在 forEach 循环中遍历这些元素。

接下来需要将 HTML 元素列表转换为数组,如果它是 br 标签,则 go 抛出数组并删除元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM