Javascript 将html标记和内容转换为字符串
我的问题是我需要根据event.content的结果创建一个字符串。Event.content返回一个包含html标记的条目。我可以像container.innerHTML=event.content那样使用它。我需要event.content作为字符串。我试着这样做:Javascript 将html标记和内容转换为字符串,javascript,Javascript,我的问题是我需要根据event.content的结果创建一个字符串。Event.content返回一个包含html标记的条目。我可以像container.innerHTML=event.content那样使用它。我需要event.content作为字符串。我试着这样做: var a = '' + event.content; 但它不起作用。下面是event.content的结果: <img src="http://image.weather.com/web/common/wxicons/
var a = '' + event.content;
但它不起作用。下面是event.content的结果:
<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 ° F. For more details?
部分多云,华氏84度;更多细节?
我无法在javascript中将其转换为字符串。可能吗?我还尝试了字符串(event.content)。好的,我把我的全部密码都放进去了
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
<title>Hava Durumu</title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
function havabas(){
var feed = new google.feeds.Feed("http://rss.weather.com/weather/rss/local/TUXX0014? cm_ven=LWO&cm_cat=rss&par=LWO_rss");
feed.load(function(result) {
if (!result.error) {
var entry = result.feed.entries[0];
var container = document.getElementById("weather");
var c = entry.content;
var regex = /<img.*?src="(.*?)".*?>.*?([0-9]+\s*°)/;
var results = regex.exec(entry.content);
var html = '<img src= ' + results[1] + ' alt="" /> ' + results[2];
container.innerHTML = html;
}
});
}
function initialize() {
havabas();
setInterval(function(){havabas()},2000);
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body>
<div id="weather"></div>
</body>
</html>
哈瓦杜鲁姆
加载(“提要”,“1”);
函数havabas(){
var feed=新的google.feed.feed(“http://rss.weather.com/weather/rss/local/TUXX0014? cm_ven=LWO&cm_cat=rss&par=LWO_rss”);
feed.load(函数(结果){
如果(!result.error){
var entry=result.feed.entries[0];
var container=document.getElementById(“天气”);
var c=条目内容;
var regex=/.*([0-9]+\s*°;)/;
var results=regex.exec(entry.content);
var html=''+结果[2];
container.innerHTML=html;
}
});
}
函数初始化(){
哈瓦巴斯();
setInterval(function(){havabas()},2000);
}
setOnLoadCallback(初始化);
您可能忘了用反作用力避开单引号或双引号?这是一个有效的字符串-
var string="<img src=\"http://image.weather.com/web/common/wxicons/31/30.gif?12122006\" alt=\"\" />Partly Cloudy, and 84 ° F. For more details?";
var string=“部分多云,华氏84度了解更多详情?”;
您的正则表达式无效。它与entry.content
中的字符串不匹配。原因是°代码>。将代码更改为:
var regex = /<img.*?src="(.*?)".*?>.*?([0-9]+)/;
var results = regex.exec(entry.content);
var html = '<img src= ' + results[1] + ' alt="" /> ' + results[2] + ' °';
var regex=/.*([0-9]+)/;
var results=regex.exec(entry.content);
var html=''+结果[2]+'°;';
新文件
函数get1()
{
var i='部分多云,84华氏度了解更多详情?';
变量j='\''+i+'\'';
警惕(j);
}
请尝试此在我看来类似于事件。内容
已经是一个字符串。什么是“不工作”?var results=regex.exec(event.content);在这里,它不起作用。但是当我赋值给一个变量,比如var a='';我可以在exec内部使用它。再说一次,到底是什么“不起作用”?你有错误吗?或者它不返回您想要的结果?什么是regex
?console.dir(event.content)
或typeof event.content
为您提供了什么?如果我们不知道什么是event.content
,那么我们无法帮助您。HTML只能作为字符串存在于JavaScript中,所以你的问题有点让人困惑。我使用的是google feed api,它会返回RSS提要。我正在获取第一个提要的内容,这是event.content。您可以在第二段代码中看到event.content是什么。首先,你的问题显然不是c
不是字符串,因为它是字符串。接下来要做的是尝试将其与正则表达式匹配,但失败(regex.test(c)
返回false
)。所以我假设您确实想要匹配它,如果您替换°代码>带有°
:。您必须查看获得的数据,字符串不包含°代码>。问题是event.content返回此消息,但它不是硬编码的。它是这样工作的。但我需要使用event.content,而不是
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
function get1()
{
var i='<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 ° F. For more details?';
var j='\'' +i+ '\'';
alert(j);
}
</script>
<BODY onload='get1();'>
</BODY>
</HTML>