Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 CKeditor在粘贴事件中删除除div、span以外的所有html标记_Javascript_Php_Jquery_Ckeditor - Fatal编程技术网

Javascript CKeditor在粘贴事件中删除除div、span以外的所有html标记

Javascript CKeditor在粘贴事件中删除除div、span以外的所有html标记,javascript,php,jquery,ckeditor,Javascript,Php,Jquery,Ckeditor,当用户使用Ctrl+v粘贴内容时,我想从CKeditor中删除所有html标记。下面是我编写的代码。没有像我预期的那样工作 <script type="text/javascript"> CKEDITOR.on('instanceReady', function(ev) { var edits=ev.editor; edits.on( 'paste', function(event) { var content = event.data['h

当用户使用Ctrl+v粘贴内容时,我想从CKeditor中删除所有html标记。下面是我编写的代码。没有像我预期的那样工作

<script type="text/javascript">
    CKEDITOR.on('instanceReady', function(ev) {
    var edits=ev.editor;
    edits.on( 'paste', function(event) {
        var content =  event.data['html'];
        content = $('<div />').html(content).text();
        var $temp=$(content).find('br,p').contents().unwrap().end().end();
        var newtext = $temp.text();
        edits.setData(newtext);
    });
    });
</script>

CKEDITOR.on('instancerady',函数(ev){
var edits=ev.editor;
编辑.on('paste',函数(事件){
var content=event.data['html'];
content=$('').html(content.text();
var$temp=$(content.find('br,p').contents().unwrap().end().end();
var newtext=$temp.text();
编辑.setData(newtext);
});
});
1) 我希望删除除div、span以外的所有标记。但在我的代码中,我必须指定要删除的标记。我相信一定有更好的办法 2) 此外,此代码也将删除所有html标记。所以代码肯定有问题

有更好的建议吗???

试试这个:

function strip_tags(html, keepTags) {

    var ptn = new RegExp('<(?!\/?(' + keepTags.join('|') + '))[^>]+>', 'g');
    return html.replace(ptn, '');
}
function strip\u标记(html、keepTags){
var ptn=newregexp(']+>','g');
返回html.replace(ptn',);
}
$('').html(content).text()将删除所有标记,因此只需使用strip_标记(content,['div','span'])


你是说
去掉标签($string,”)
?是的,但我希望能指定哪个标签不应该去掉。在jquery/javascript Only中,您是否阅读了手册?