Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果框架正在添加标记,则需要删除它们_Javascript_Jquery - Fatal编程技术网

Javascript 如果框架正在添加标记,则需要删除它们

Javascript 如果框架正在添加标记,则需要删除它们,javascript,jquery,Javascript,Jquery,我试图获取iframe的内容(转换为一个简单的富文本编辑器),然后使用jquery修改这些内容,但我遇到了问题,因为在IE和FF中,当我获取内容时,它会添加一个带有样式的额外span标记和div标记。如何删除这些标记/样式 这就是我获取内容的方式 var frame = window.frames['richTextField'].document.body.innerHTML; /////Gets contents of iframe $("#songRes").html(frame); //

我试图获取iframe的内容(转换为一个简单的富文本编辑器),然后使用jquery修改这些内容,但我遇到了问题,因为在IE和FF中,当我获取内容时,它会添加一个带有样式的额外span标记和div标记。如何删除这些标记/样式

这就是我获取内容的方式

var frame = window.frames['richTextField'].document.body.innerHTML; /////Gets contents of iframe
$("#songRes").html(frame); /////Places info into proper div
我试图找出第一个字符是否是“{”,如果是,那么做些什么

var frame = window.frames['richTextField'].document.body.innerHTML; /////Gets contents of iframe
  adj = frame.replace(/<div>/gi,"<br \/>").replace(/<\/div>/gi,""); /////String replaces contents of frame
  $("#songRes").html(adj+'<hr />'); /////Places info into proper div
  var array = adj.split("<br />"); /////Splits each line into array values
  var array = frame.split("<br />");
  for(var i = 0; i < array.length; i++){
    var str = array[i];
    if(str.charAt( 0 ) != '{'){/**/}else{/**/} // 
  }
var frame=window.frames['richTextField'].document.body.innerHTML;//获取iframe的内容
adj=frame.replace(//gi,“”).replace(//gi,”);///String替换框架的内容
$(“#songRes”).html(adj+'
');///将信息放入适当的div中 var array=adj.split(
);将每行拆分为数组值 var数组=frame.split(“
”); 对于(var i=0;i

但问题是,它将起始字符显示为“我不知道为什么
。innerText
不起作用(可能是因为您使用的是Firefox)。无论如何,这里有另一个建议:

function strip(html)
{
   var tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent||tmp.innerText;
}

这是对这个问题的公认答案。

我发现了一个很棒的网站,它基本上是为javascript重写php代码。我从那里使用了strip_tags函数。请查看它

function strip_tags (input, allowed) {
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
        commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}
功能条标签(输入,允许){

allowed=(((allowed | | |“”)+).toLowerCase().match(//g)| |[]).join(“”);//确保允许的参数是仅包含小写标记的字符串(

如何检索
str
变量?您应该发布一个示例,显示iframe内容和要删除的标记/样式
。innerText
而不是
innerHTML
@IliaFrenkel。innerText不起作用。您是否使用某种javascript reach文本编辑器(如TinyMCE)如果是这样,它应该有一个获取文本的方法。你能发布更多细节吗?