Javascript 检查RSS源中的HTML标记并删除
嗨,我一直在写一个应用程序,它是一个RSS提要列表。我一直在将我的按钮连接到它们的对象计数器部分(显示特定提要的按钮,例如BBC按钮显示BBC rss提要,《卫报》显示瓜里亚新闻并隐藏BBC),但是看着容器,它们变得非常倾斜,因为我加入了一个把手助手,使提要看起来很漂亮。Javascript 检查RSS源中的HTML标记并删除,javascript,handlebars.js,Javascript,Handlebars.js,嗨,我一直在写一个应用程序,它是一个RSS提要列表。我一直在将我的按钮连接到它们的对象计数器部分(显示特定提要的按钮,例如BBC按钮显示BBC rss提要,《卫报》显示瓜里亚新闻并隐藏BBC),但是看着容器,它们变得非常倾斜,因为我加入了一个把手助手,使提要看起来很漂亮。 助手允许我缩短提要描述,并用省略号结束缩短的版本。这导致问题的原因是,其中一个提要在其描述含义中包含HTML,而描述中的maxLength HTML标记仍被添加到页面中。这使得我的容器中有额外的不需要的HTML元素。 我希望这
助手允许我缩短提要描述,并用省略号结束缩短的版本。这导致问题的原因是,其中一个提要在其描述含义中包含HTML,而描述中的maxLength HTML标记仍被添加到页面中。这使得我的容器中有额外的不需要的HTML元素。
我希望这是足够的解释,TL;DR是RSS描述中返回的HTML,正在向我的页面添加不需要的传统HTML。如何修复 我的助手方法:
handlebars.registerHelper("rssDesc", function(results) {
var maxLength = 164;
//this checks for multiple descriptions and shows first
if(Array.isArray(results)) {
results = results[0];
}
//this checks to see if text contains html markup and converts it to text HOWEVER doesn't work yet. T_T
if(results.indexOf("<") > -1) {
results = $(results).text();
}
results = results.substring(0, maxLength);
return results.substring(0, Math.min(results.length, results.lastIndexOf(" "))) + " ...";
});
handlebar.registerHelper(“rssDesc”),函数(结果){
var maxLength=164;
//这将检查多个描述并首先显示
if(Array.isArray(结果)){
结果=结果[0];
}
//这将检查文本是否包含html标记,并将其转换为文本,但仍不起作用。t\t
如果(results.indexOf(“),根据这一点,jquery方法是最简单的
// retrieves all the text from a string of html.
jQuery(html).text();
根据此处提供的链接->
我了解到,有时如果不是第一个,则.text();并不总是很好。在帮助程序开始时(在var下)实现了两个小时的.text();之后一切都很好!是的,我尝试了第二个if,出于某些奇怪的原因,它已经开始工作。当RSS提要显示Bulletpoint时,它似乎出现了问题。这很混乱,但感谢您的回答:)到目前为止,这不起作用^I收到另一个错误。
// retrieves all the text from a string of html.
jQuery(html).text();