有一种简单的方法可以在JavaScript中获取一串html并删除html吗?
我尝试.trim()在我的一个JavaScript程序中应用一个字符串.它在Mozilla下工作正常,但是当我在IE8中尝试它时会显示错误.有谁知道这里发生了什么?无论如何我可以在IE中使用吗?
var ID = document.getElementByID('rep_id').value.trim();
Run Code Online (Sandbox Code Playgroud)
Message: Object doesn't support this property or method Line: 604 Char: 2 Code: 0 URI: http://test.localhost/test.js
我写了一个正则表达式来从html中获取字符串,但似乎多行标志不起作用.
这是我的模式,我想在h1标签中获取文本.
var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi
m = html.search(pattern);
return m[1];
Run Code Online (Sandbox Code Playgroud)
我创建了一个字符串来测试它.当字符串包含"\n"时,结果始终为null.如果我删除所有"\n",它给了我正确的结果,无论是否带有/ m标志.
我的正则表达式有什么问题?
我正在使用React构建一些东西,我需要在JSX中使用React Variables插入HTML.有没有办法让变量像这样:
var thisIsMyCopy = '<p>copy copy copy <strong>strong copy</strong></p>';
Run Code Online (Sandbox Code Playgroud)
并将其插入反应中,并让它工作?
render: function() {
return (
<div className="content">{thisIsMyCopy}</div>
);
}
Run Code Online (Sandbox Code Playgroud)
并按预期插入HTML?我没有看到或听到任何关于可以执行此内联的react函数,或者解析可以使其工作的事物的方法.
所以我有以下字符串:
var s = '<span>Some Text</span> Some other Text';
Run Code Online (Sandbox Code Playgroud)
结果应该是一个包含内容"Some Other Text"的字符串.
我试过了...
var $s = $(s).not('span');
Run Code Online (Sandbox Code Playgroud)
......和很多其他的东西remove(),not()等,但没有奏效.
有什么建议?我可以将字符串与正则表达式匹配,但我更喜欢常见的jQuery解决方案.
编辑:
我没有用正则表达式搜索解决方案,我只是想知道为什么这个例子不起作用:http: //jsfiddle.net/q9crX/150/
我使用以下代码将字符串解析为DOM:
var doc new DOMParser().parseFromString(string, 'text/xml');
Run Code Online (Sandbox Code Playgroud)
string只是在哪里<!DOCTYPE html><html><head></head><body>content</body></html>.
typeof doc给了我object.如果我这样做,doc.querySelector('body')我会得到一个DOM对象.但是,如果我尝试访问任何属性,就像你通常可以,它给了我undefined:
doc.querySelector('body').innerHTML; // undefined
Run Code Online (Sandbox Code Playgroud)
其他属性也是如此,例如id.另一方面,属性检索很顺利doc.querySelector('body').getAttribute('id');.
是否有魔术功能可以访问这些属性?
我试图使用JS函数获取HTML字符串的内部文本(字符串作为参数传递).这是代码:
function extractContent(value) {
var content_holder = "";
for(var i=0;i<value.length;i++) {
if(value.charAt(i) === '>') {
continue;
while(value.charAt(i) != '<') {
content_holder += value.charAt(i);
}
}
}
console.log(content_holder);
}
extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>");
Run Code Online (Sandbox Code Playgroud)
问题是控制台上没有打印任何内容(content_holder保持空白).我认为问题是由"==="运算符引起的..
我想使用Google Spreadsheets和Google Apps脚本创建一个刮刀.我知道这是可能的,我已经看过一些关于它的教程和线程.
主要想法是使用:
var html = UrlFetchApp.fetch('http://en.wikipedia.org/wiki/Document_Object_Model').getContentText();
var doc = XmlService.parse(html);
Run Code Online (Sandbox Code Playgroud)
然后开始使用这些元素.但是,方法
XmlService.parse()
Run Code Online (Sandbox Code Playgroud)
对某些页面不起作用.例如,如果我尝试:
function test(){
var html = UrlFetchApp.fetch("https://www.nespresso.com/br/pt/product/maquina-de-cafe-espresso-pixie-clips-preto-lima-neon-c60-220v").getContentText();
var parse = XmlService.parse(html);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error on line 225: The entity name must immediately follow the '&' in the entity reference. (line 3, file "")
Run Code Online (Sandbox Code Playgroud)
我试图用来string.replace()消除显然导致错误的字符,但它不起作用.出现所有其他错误.以下代码为例:
function test(){
var html = UrlFetchApp.fetch("https://www.nespresso.com/br/pt/product/maquina-de-cafe-espresso-pixie-clips-preto-lima-neon-c60-220v").getContentText();
var regExp = new RegExp("&", "gi");
html = html.replace(regExp,"");
var parse = XmlService.parse(html);
}
Run Code Online (Sandbox Code Playgroud)
给我以下错误:
Error on line 358: The content of elements must …Run Code Online (Sandbox Code Playgroud) javascript parsing html-parsing google-sheets google-apps-script
正如这个答案所表明的,在JavaScript中解析HTML的一个好方法就是简单地重用浏览器的HTML解析功能,如下所示:
var el = document.createElement( 'html' );
el.innerHTML = "<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>";
// process 'el' as desired
Run Code Online (Sandbox Code Playgroud)
但是,这会触发为某些HTML字符串加载额外页面,例如:
var foo = document.createElement('div')
foo.innerHTML = '<img src="http://example.com/img.png">';
Run Code Online (Sandbox Code Playgroud)
运行此示例后,浏览器会尝试加载页面:
如果没有这种行为,我如何从JavaScript处理HTML ?
我想在HTML文档中转换下面的HTML字符串.下面的代码适用于Firefox和Chrome,但不适用于其他浏览器(Opera,Safari,IE).你能帮助我吗?
var content = '<iframe width="640" height="360" src="//www.youtube.com/embed/ZnuwB35GYMY" frameborder="0" allowfullscreen></iframe>';
var parser = new DOMParser();
var htmlDoc = parser.parseFromString(content,"text/html");
Run Code Online (Sandbox Code Playgroud)
谢谢你不要在JQuery中回复.
我想做到这一点,但在javascript中
<?php
$content = '<iframe width="640" height="360" src="//www.youtube.com/embed/ZnuwB35GYMY" frameborder="0" allowfullscreen></iframe>';
$doc = new DOMDocument();
$doc->loadHTML($content);
?>
Run Code Online (Sandbox Code Playgroud)
我的主要目标是在HTML文档中转换HTML文本,以便更改iframe的Width和Height属性.