我正在处理一个像这样格式化文本块的CMS。
<p>
Lorem ipsum dolor坐下来,念诵adipistur elit。<br>
Vivamus lacus ipsum,semper non consequat eu,facilisis at lectus。 Vestibulum et magna ac<br>
odi semper porttitor lacinia congue orci。 Vivamus suscipit eleifend dolor,in herererit<br>
turpis bibendum ut。<br><br>
Morbi interdum augue et nisl ullamcorper sit amet ornare<br>
lorem tempus。 Duis nec nisi quis ipsum pulvinar volutpat。 Suspendisse venenatis malesuada metus,nec pretium dui cursus eget。 Donec简历lorem vitae risus dapibus malesuada congue vel nunc。</p>
双行返回<br><br>
用于启动新段落。我无法更改CMS输出。
由于文本块已经有一个开口<p>
并且在其周围关闭<p>
,我需要首先为结束</p>
标记和开头{{切换双行返回标记1}}标签。像这样:“<p>
”=“<br><br>
”
然后我需要将其余的剩余
标签去除,只用空格替换:</p><p>
= <br>
我试过了,
" "
但它会将每个$('#nomorefonts').submit(function () {
$('br').replaceWith(function () {
return $('</p><p>').append($(this).contents());
});
return false;
});
代码替换为多个打开和关闭<br>
代码。
编辑:所需的结果是:
</p><p>
Lorem ipsum dolor坐下来,精神恍惚。 Vivamus lacus ipsum,semper non consequat eu,facilisis at lectus。前庭 et magna ac odi semper porttitor lacinia congue orci。 Vivamus suscipit eleifend dolor,in hendrerit turpis bibendum ut。<p>
Morbi interdum augue et nisl ullamcorper sit amet ornare lorem tempus。 DUIS nec nisi quis ipsum pulvinar volutpat。 Suspendisse venenatis malesuada metus,nec pretium dui cursus eget。 Donec vitae lorem vitae risus dapibus malesuada congue vel nunc。</p><p>
答案 0 :(得分:2)
您尝试将$
用于create a new element,但</p><p>
不是元素。
这整个方法似乎有问题,但最好的办法是操纵原始字符串:
$('.block-of-text').html($('.block-of-text').html().replace(/<br>/g, '</p><p>'));
答案 1 :(得分:0)
我认为你会更喜欢这样的事情:
$('#target_container p').each(function(){
var pThis = $(this);
var pRaw = pThis.html().split('<br>').join('</p><p>');
pThis.html(pRaw);
});
'#target_container'就是您要开始寻找P元素实例的地方。替换为适合你的。
更好的是,修补CMS。
答案 2 :(得分:0)
这样的事情:
var newHtml = "";
var splitHtml = $("p").html().split("<br>");
for (var i=0; i < splitHtml.length; i++) {
newHtml += "</p><p>" + splitHtml[i];
}
$("#yourdiv").html(newHtml);
答案 3 :(得分:0)
你试过replace()吗?类似的东西:
$('#nomorefonts').submit(function(){
var elem=$('#text_box'),formattedStr=elem.html().replace(/<br><br>/g,'</p><p>').replace(/<br>/g,' ');
elem.html(formattedStr);
return false;
});