首页 > 其他分享 >Less.html基本使用

Less.html基本使用

时间:2023-03-31 14:57:44浏览次数:38  
标签:基本 src Less textContent Regex Replace item html var

背景:做一件代发业务的时候,订单中的产品描述含有大量广告,公司业务需要动态添加/删除指定的数据

参考文档:Less.Html

  • 1.找出描述中含有多个的数据
Dictionary<string, string> keyValues = new Dictionary<string, string>();
foreach (DataRow dataRow in dataRowCollection)
{
    var sp = dataRow["Specification"].ToString();
    var sku = dataRow["ProductId"].ToString();
    Document document = HtmlParser.Parse(sp);
    var q = Selector.Bind(document);
    var trs = q("tr");
    foreach (var tr in trs)
    {
        var tds = q(tr).find("td");
        if (tds.length >= 3)
        {
            keyValues.Add(sku, sp);
            break;
        }
    }
}
  • 2.去掉指定数据
if (!string.IsNullOrEmpty(detail.description))
{
    Document document = HtmlParser.Parse(detail.description);
    var q = HtmlParser.Query(detail.description);

    var ps = q("p");
    foreach (var item in ps)
    {
        if (Regex.IsMatch(item.textContent, @"[\u4e00-\u9fa5]"))
        {
            string s = Regex.Replace(item.textContent, @"[\u4e00-\u9fa5]", "");
            item.textContent = s;
        }
    }

    var spans = q("span");
    foreach (var item in spans)
    {
        if (Regex.IsMatch(item.textContent, @"[\u4e00-\u9fa5]"))
        {
            string s = Regex.Replace(item.textContent, @"[\u4e00-\u9fa5]", "");
            item.textContent = s;
        }
    }

    var fonts = q("font");
    foreach (var item in fonts)
    {
        if (Regex.IsMatch(item.textContent, @"[\u4e00-\u9fa5]"))
        {
            string s = Regex.Replace(item.textContent, @"[\u4e00-\u9fa5]", "");
            item.textContent = s;
        }
        if (item.textContent.Contains("微信号"))
        {
            item.textContent = item.textContent.Replace("微信号", "");
        }
        if (item.textContent.ToLower().Contains("wechat"))
        {
            item.textContent = item.textContent.Replace("WeChat", "");
            item.textContent = item.textContent.Replace("wechat", "");
        }
        if (item.textContent.ToLower().Contains("qq"))
        {
            item.textContent = item.textContent.Replace("qq", "");
            item.textContent = item.textContent.Replace("QQ", "");
        }
    }

    var imgs = q("img");
    foreach (var item in imgs)
    {
        var src = item.getAttribute("src");
        if (src.Contains("data:image"))
        {
            item.setAttribute("src", "");
        }
        if (src.Contains("btbimage"))
        {
            item.setAttribute("src", "");
        }
        if (src.Contains("https://timgsa.baidu.com/"))
        {
            item.setAttribute("src", "");
        }
    }
    detail.description = document.ToString();
}

标签:基本,src,Less,textContent,Regex,Replace,item,html,var
From: https://www.cnblogs.com/BOSET/p/17276251.html

相关文章

  • MyBatis框架的基本CRUD命令
    1、局部SQL配置文件重要标签说明:作用:把sql语句保存在Mybatis的局部配置文件中,给某个数据访问类使用;根节点为<mapper>…</mapper>;namespace:命名空间,其值为某一个dao层实现类的具体路径,表示这个类要使用相应的SQL语句。这个具体路径不要自己写,可以选中该类,右键,选择“copy......
  • MyBatis 框架基本使用流程
    1、编写Mybatis主配置文件: mybatis.xml中重要标签说明:<!--配置数据库连接环境:driver、url、username、password--><environmentsdefault="mysql">//设置当前要使用的数据库<!--开始配置mysql--><environmentid="mysql">//给当前要使用的数据库环境命名,要唯一<......
  • ffmpeg分辨率更改和无损压缩转码(h264 h265 lossless)
    测试的版本ffmpeg-versionffmpegversionn6.0Copyright(c)2000-2023theFFmpegdevelopersbuiltwithgcc11(Ubuntu11.3.0-1ubuntu1~22.04)configuration:--toolchain=hardened--libdir=/usr/lib/x86_64-linux-gnu--incdir=/usr/include/x86_64-linux-gnu--arch=amd......
  • HTML编辑器粘贴图片自动上传到服务器(Java版)
    ​ 由于工作需要必须将word文档内容粘贴到编辑器中使用但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直接解决这个问题考虑到自己除了工作其他时间基本上不使用windows,因此打算使用nodejs来解......
  • Elasticsearch.Net+Nest基本用法
    基本用法安装Nest(安装后默认会装上Elasticsearch.Net),注意:版本尽量选择跟ES版本一致的批量初始化数据到ESusingNest;try{//测试环境配置SSL证书需要的设置ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12|SecurityProtocolType.Tls11......
  • 【快应用】快应用如何打开手机中的html文件
     【关键字】本地html、多媒体、路由 【问题背景】快应用中的web组件无法打开本地的html文件,仅支持加载http和https格式的链接,那么快应用中如何查看手机中的本地html文件呢? 【解决方案】快应用中虽然不能通过web组件打开的本地html文件,但是我们以通过media.pickFile方法......
  • 【C#学习】01--基本概念
    1.1关于C#C#只是一种简单安全的新型面向对象语言,继承了C的语法风格和C++的面向对象特性,不再提供对指针类型的支持(因此程序不可随便访问内存地址空间)、不再支持多重继承;C#的诞生意义是生成面向.NETFramework环境的代码,身为编程语言的一种,它作为开发工具而存在,本身并不......
  • 基本背包问题复习(01背包,完全背包,多重背包,分组背包)
    背包问题,本质上就是给几种物品,每个物品有体积有价值,可能有个数限制有一个容量有限的背包,在背包能装下的前提下,能装的最大价值是多少 背包问题一般分为这几种:01背包:每件物品只有一个完全背包:每件物品有无限个多重背包:每件物品有Si个(有限个)分组背包:所有物品被分为多个组,每一组......
  • 2023-03-30-栈的基本操作
    1//栈stack234#include<stdio.h>5#include<stdbool.h>67#defineMAXSIZE10089typedefstruct10{11intdata[MAXSIZE];//数据12inttop;//栈顶指针,初始为-113}*SqStack;1415voidinitStack(SqStackS)//初始化栈16{17......
  • threejs中渲染html
    背景最近中看threejs的时候发现一个好玩的事情,可以在threejs中渲染普通的html。threejs本身可以做各种炫酷的界面,但是与用户交互的时候写起来没有用dom实现方便,但是如果可以将已有的dom渲染到threejs中,那么就可以实现非常炫酷的界面,也能提高用户的体验。依赖介绍这里使用react......