Javascript 在PHP中从HTML中删除所有样式属性
我必须加载一个HTML页面的主体,没有任何样式属性,没有链接图像和所有非“纯文本”的内容。我想在PHP中做这件事,并尝试了很多解决方案,但我还没有解决。我用对脚本的ajax调用加载html页面,然后用正则表达式获取主体,然后我希望清除它。你能帮助我吗?这是ajax调用:Javascript 在PHP中从HTML中删除所有样式属性,javascript,php,html,ajax,scrape,Javascript,Php,Html,Ajax,Scrape,我必须加载一个HTML页面的主体,没有任何样式属性,没有链接图像和所有非“纯文本”的内容。我想在PHP中做这件事,并尝试了很多解决方案,但我还没有解决。我用对脚本的ajax调用加载html页面,然后用正则表达式获取主体,然后我希望清除它。你能帮助我吗?这是ajax调用: $.ajax({ type: "GET" url: "core/proxy.php?url="+cerca, success: function(data){
$.ajax({
type: "GET"
url: "core/proxy.php?url="+cerca,
success: function(data){
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$("div#risultato").html(body);
},
error: function(){
alert("failed");
}
});
});
$.ajax({
键入:“获取”
url:“core/proxy.php?url=“+cerca,
成功:功能(数据){
var body=data.replace(/^[\S\S]*]*?>/i,“”)
.replace(/您可以使用jQuery只获取正文的文本内容
因此,在success
函数中,您将获取数据
,将其转换为jQuery对象,并将文本插入到div中
$('div#risultato').html($(data).find('body').text());
您可以使用jQuery只获取正文的文本内容
因此,在success
函数中,您将获取数据
,将其转换为jQuery对象,并将文本插入到div中
$('div#risultato').html($(data).find('body').text());
您可以使用jQuery只获取正文的文本内容
因此,在success
函数中,您将获取数据
,将其转换为jQuery对象,并将文本插入到div中
$('div#risultato').html($(data).find('body').text());
您可以使用jQuery只获取正文的文本内容
因此,在success
函数中,您将获取数据
,将其转换为jQuery对象,并将文本插入到div中
$('div#risultato').html($(data).find('body').text());
插入正文
后,可以逐个标记清除样式
属性:
function clearStyles(element) {
element.setAttribute('style', '');
for (var i = 0; i < element.children.length; i++) {
clearStyles(element.children[i]);
}
}
插入正文
后,可以逐个标记清除样式
属性:
function clearStyles(element) {
element.setAttribute('style', '');
for (var i = 0; i < element.children.length; i++) {
clearStyles(element.children[i]);
}
}
插入正文
后,可以逐个标记清除样式
属性:
function clearStyles(element) {
element.setAttribute('style', '');
for (var i = 0; i < element.children.length; i++) {
clearStyles(element.children[i]);
}
}
插入正文
后,可以逐个标记清除样式
属性:
function clearStyles(element) {
element.setAttribute('style', '');
for (var i = 0; i < element.children.length; i++) {
clearStyles(element.children[i]);
}
}
Jose Antonio Riaza Valverde我纠正了,但没有任何变化:
$.ajax({
//definisco il tipo della chiamata
type: "GET",
//url della risorsa da contattare
url: "core/proxy.php?url="+cerca,
//azione in caso di successo
success: function(data)
{
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$("div#risultato").html(body);
clearStyles(document.getElementById('risultato'));
},
//azione in caso di errore
error: function()
{
alert("Chiamata fallita");
}
});
});
$.ajax({
//基亚马塔酒店
键入:“获取”,
//德拉里索萨康塔塔酒店
url:“core/proxy.php?url=“+cerca,
//成功之家的阿齐翁
成功:功能(数据)
{
var body=data.replace(/^[\S\S]*]*?>/i,“”)
.更换(/Jose Antonio Riaza Valverde I已纠正,但无任何变化:
$.ajax({
//definisco il tipo della chiamata
type: "GET",
//url della risorsa da contattare
url: "core/proxy.php?url="+cerca,
//azione in caso di successo
success: function(data)
{
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$("div#risultato").html(body);
clearStyles(document.getElementById('risultato'));
},
//azione in caso di errore
error: function()
{
alert("Chiamata fallita");
}
});
});
$.ajax({
//基亚马塔酒店
键入:“获取”,
//德拉里索萨康塔塔酒店
url:“core/proxy.php?url=“+cerca,
//成功之家的阿齐翁
成功:功能(数据)
{
var body=data.replace(/^[\S\S]*]*?>/i,“”)
.更换(/Jose Antonio Riaza Valverde I已纠正,但无任何变化:
$.ajax({
//definisco il tipo della chiamata
type: "GET",
//url della risorsa da contattare
url: "core/proxy.php?url="+cerca,
//azione in caso di successo
success: function(data)
{
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$("div#risultato").html(body);
clearStyles(document.getElementById('risultato'));
},
//azione in caso di errore
error: function()
{
alert("Chiamata fallita");
}
});
});
$.ajax({
//基亚马塔酒店
键入:“获取”,
//德拉里索萨康塔塔酒店
url:“core/proxy.php?url=“+cerca,
//成功之家的阿齐翁
成功:功能(数据)
{
var body=data.replace(/^[\S\S]*]*?>/i,“”)
.更换(/Jose Antonio Riaza Valverde I已纠正,但无任何变化:
$.ajax({
//definisco il tipo della chiamata
type: "GET",
//url della risorsa da contattare
url: "core/proxy.php?url="+cerca,
//azione in caso di successo
success: function(data)
{
var body = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$("div#risultato").html(body);
clearStyles(document.getElementById('risultato'));
},
//azione in caso di errore
error: function()
{
alert("Chiamata fallita");
}
});
});
$.ajax({
//基亚马塔酒店
键入:“获取”,
//德拉里索萨康塔塔酒店
url:“core/proxy.php?url=“+cerca,
//成功之家的阿齐翁
成功:功能(数据)
{
var body=data.replace(/^[\S\S]*]*?>/i,“”)
代替(/向我们展示您尝试过的PHP解决方案怎么样?总体而言,按照您描述的做是一个复杂的问题;这不仅仅是一个简单的正则表达式问题。始终值得指出的是-我忘记了html页面都是这些链接的文章:,。对于我搜索的所有其他网站,我必须显示正文内容。展示如何请告诉我们您尝试过的PHP解决方案?一般来说,按照您描述的做是一个复杂的问题;这不仅仅是一个简单的正则表达式问题。始终值得指出的是-我忘记了html页面都是这些链接的文章:,。对于我搜索的所有其他网站,我必须显示正文内容。向我们展示PHP解决方案如何n你试过了吗?一般来说,做你描述的事情是一个复杂的问题;它不仅仅是一个简单的正则表达式。总是值得指出的-我忘记了html页面都是这些链接的文章:,。对于我搜索的所有其他网站,我必须显示正文内容。向我们展示你尝试过的PHP解决方案怎么样?做w一般来说,您描述的内容是一个复杂的问题;它不仅仅是一个简单的正则表达式问题。始终值得指出的是-我忘记了html页面都是这些链接的文章:,。对于我搜索的所有其他网站,我必须显示正文内容。好的,谢谢您删除链接、标记和文本框?jQuery('body a,body img,body input,body textarea')。删除()
对不起,第一个函数clearStyles当我的变量体包含网站的主体时,我在setAttribute中收到一个错误,safari告诉我这不是一个函数,第二条指令不起作用。我将你的函数复制并粘贴到我的js文件中,在我的指令数据替换后,我调用clearStyles(主体)。如何获取body?使用setAttribute()
您不能使用jQuery
,您应该使用document.body
或document.getElementsByTagName('body')[0]
。向该div添加一个id(例如id=“content”
)并调用函数clearStyles(document.getElementById('content'))
。好的,谢谢你删除链接、标签和文本框?jQuery('body a,body img,body input,body textarea')。删除();
对不起,当我的变量body包含我要删除的网站的正文时,第一个函数将清除样式