首页 > 解决方案 > 使用正则表达式去除 HTML 和 & 符号

问题描述

我正在从新闻页面(在同一站点内)中提取 HTML 代码,并希望从中删除所有 HTML 标记。目前,所有标签都已被剥离,除了特殊字符 (&") 等。我已经搜索了所有的 stackoverflow 帖子,但找不到任何有效的东西。也许这是我定义函数的方式。

我已经尝试对 - item.cleanedHtml = item.PublishingPageContent.replace(/</?[^>]+>/gi, ''); 使用多种差异

但结果要么添加了 HTML 标签,要么根本不显示文本。在 [] 中,我尝试添加 " 或只是 & 以查看是否有帮助。我还尝试使用我可以找到的各种其他建议来更改完整行,但无济于事。

_blah.controller('myNewsController', ['$scope','newsService', function($scope,newsService) {
        newsService.getNews().then(function(newsItems){
            for (var i = 0; i < newsItems.length; i++) {
                var item = newsItems[i]; 
                item.cleanedHtml = item.PublishingPageContent.replace(/<\/?[^>]+>/gi, '');
                item.cleanedHtmlFun = item.cleanedHtml.replace(/"/gi, '').replace(/'/gi, '');
                item.imageUrl = getImageUrlfromSrc(item.File.Properties.PublishingPageImage,item);
            }
            $scope.news = newsItems;            
        });
    }]);

我希望输出为:正如 Tom & Jerry 所报告的

“我得到的是:正如 Tom & Jerry 所报告的”

标签: javascripthtmlregex

解决方案


推荐阅读