1. 程式人生 > >C#/JS 利用正則表示式 替換/刪除 img 裡面的 width height

C#/JS 利用正則表示式 替換/刪除 img 裡面的 width height

JS:

	function test() {

        	var str = "<img title=\"\" alt=\"\" align=\"\" src=\"/kindeditor/attached/image/20161214/20161214162554_8001.jpg\" width=\"312\" height=\"312\" />";
        	str += "<img title=\"\" alt=\"\" align=\"\" src=\"/kindeditor/attached/image/20161214/20161214162554_8001.jpg\" width=\"412\" height=\"412\" />";
        	str = str.replace(/ height="\d+"/g, " height=\"90\"");// “/”後面的是要替換的字元,“d\+”是數字,最後""裡是用來填充的字元

        	str = str.replace(/ width="\d+"/g, " width=\"90\"");

        	alert(str);
        }

 <input type="button" id="hh" onclick="test();" value="hell" />

C#:

var str = "<img title=\"\" alt=\"\" align=\"\" src=\"/kindeditor/attached/image/20161214/20161214162554_8001.jpg\" width=\"312\" height=\"312\" />";
			str += "<img title=\"\" alt=\"\" align=\"\" src=\"/kindeditor/attached/image/20161214/20161214162554_8001.jpg\" width=\"412\" height=\"412\" />";

			Regex reg = new Regex("width\\s*=\\s*\\S+ height\\s*=\\s*\\S+");
                        string result = reg.Replace(str, "width=\"90\" height=\"90\"");
                       第二種方法替換
                       //Regex reg1 = new Regex("height\\s*=\\s*\\S+");
			//string result1 = reg1.Replace(result, "height=\"90\"");

處理多張圖片中出現沒有width height的情況:

//正則替換圖片的寬高
                                        Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);
                                        MatchCollection matches = regImg.Matches(item.AdImg);
                                        var relImg = string.Empty;
                                        foreach (Match m in matches)
                                        {
                                            //進行匹配img是否存在width height
                                            Regex reg = new Regex("width\\s*=\\s*\\S+ height\\s*=\\s*\\S+");
                                            if (!reg.IsMatch(m.Value))//img 中不存在width height
                                            {   
                                                //獲取其他屬性進行替換
                                                Regex reg1 = new Regex("alt\\s*=\\s*\\S+");
                                                relImg += reg1.Replace(m.Value, "style=\"width:90px;height:90px;\"");
                                            }
                                            else
                                            {
                                               relImg+= reg.Replace(m.Value, "style=\"width:90px;height:90px;\"");
                                            }
                                        }


相關推薦

C#/JS 利用表示式 替換/刪除 img 裡面的 width height

JS: function test() { var str = "<img title=\"\" alt=\"\" align=\"\" src=\"/kindeditor/attached/image/20161214/20161214162

js利用表示式進行字元替換

例一:把所有逗號“,”轉換成換行。 var reg = new RegExp(",", "g");//正則表示式,第一個引數是目標物件,第二個引數g,表示全部替換。 str.replace(reg, "\r\n"); 例二:把換行、空格、Tab替換成逗號。 str.re

js利用表示式修改某個字元

   js中由於沒有replaceAll()方法,需要替換字串的某些字元時候,得重複呼叫replace()方法,很是累贅。  可以採用正則表示式處理,如以下程式把toolsStartTime中的‘-’替換為‘/’。     var

JS利用表示式校驗手機號

JS利用正則表示式校驗手機號 緒         由於專案需求,需要在前端實現手機號碼的校驗。當然了,對於基本的格式校驗應該放在客戶端進行,而不需要再將待校驗的手機號傳送至服務端,在服務端完成校驗,然後將校驗結果返回給客戶端,客戶端根據返回的結果再進

js利用表示式獲取 / 設定URL引數

function getUrlParam(url, key) {      var reg = new RegExp("[?&]" + key + "=([^&]+)", "gmi");      if (reg.test(

AngularJS進階(十三)JS利用表示式校驗手機號

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! JS利用正則表示式校驗手機號 緒         由於專案需求,需要在前端實現手機號碼的校驗。當然了,對於基本的格式校驗應該放在客戶端進行,而不需要再將待校驗的手機號傳送至服務端,在服務

C#】利用表示式判斷輸入是否為純數字、容器類

容器類、正則表示式在幾乎所有程式語言都存在的東西。很常用也很使用。下面用如下的一個控制檯小程式說明C#的正則表示式與容器類的應用。 開始直接輸出在C#定義好的資料字典Dictionary,這就是Java與Python的HashMap 之後定義一個存int的List,讓使用者

C#中利用表示式檢測檔案路徑的合法性

專案中少不了讀取或設定檔案路徑的功能,如何才能對輸入的路徑是否合法進行判斷呢?用正則表示式是個不錯的方式。我們都知道檔案路徑的字串一般格式,首先是碟符,一般是abcde等字幕,碟符後用冒號隔開,然後用“\”隔開各層資料夾,如:F:\Funny\22\renxi,

C++利用表示式進行字串的替換

主要要加上標頭檔案#inlcude,這也是劍指offer上的題目 void replaceSpace(string str,int length) { string pattern=" "; regex re(p

js表示式替換(web作業)

運用正則表示式匹配“Paul;Puala,Pauline,paul,Paul”中的所以Paul,並將其替換成Ringo 程式碼如下: <!DOCTYPE html> <html> <head> <title>替換&

利用表示式進行字串替換(replace方法)

語法 str.replace(regexp|substr, newSubStr|function) 引數 regexp(pattern) 一個RegExp物件或者其字面量。該正則所匹配的內容會被第二個引數的返回值替換掉。 substr(pattern) 一個要被 newSubStr 替換

PHP利用表示式實現手機號碼中間4位用星號替換顯示

因為需要為客戶保持隱私,所以手機號碼不能完全顯示在網站上,但是又不能不顯示,所以就很多網站想到了顯示但是不完整顯示,在上面用星號替換部分顯示,其實做到這個很簡單,用正則替換顯示其中的一部分即可。 PHP利用正則表示式實現手機號碼中間4位用星號替換顯示功能,請看以下原始碼: Metho

C/C++11 表示式替換檔案內容

直接上程式碼,YFile只不過是對fstream的封裝 #include <iostream> #include <string> #include <regex> using namespace std; string R

Objective-C利用表示式進行搜尋時關鍵字的轉義

利用正則表示式進行搜尋時如果不對正則關鍵字進行轉義常常會造成搜尋結果的錯誤,如輸入?就會匹配到全部結果,就需要對搜尋關鍵字進行轉義處理: 匹配輸入字符串的結尾位置。如果設置了RegExp對象的Mult

利用表示式,通過js校驗手機號

js程式碼:<script type="text/javascript">//對手機號進行校驗function phoneChick(){//    獲取輸入框var phoneInput = $("#phonenumber");//    獲取輸入框內容var

js利用表示式實現空格與換行的互相轉換

1.將換行符轉換成空格: var content = accountInfo.replace(/\r\n/mg,'  '); 2.將空格轉換成換行:var accountInfo = (document.getElementById("accountInfo").value

Js基礎學習之-- 利用表示式驗證 模擬註冊介面

註冊介面 要求:使用者名稱只能是字母或者數字或者下劃線,不能以數字開頭,使用者名稱長度在6到20之間 密碼兩次驗證必須一致,使用者名稱密碼不能為空。 <!DOCTYPE html> <html> <head> <meta h

JS利用表示式交換函式的引數位置

某百科中看到一個例子,要用正則表示式將函式foo(a,b,c)中的引數位置換為foo(b,a,c),正好又在複習JS的過程中看到了正則表示式的部分,於是考慮用JS來實現這個功能。 函式的引數同例題中一樣通過 [^,]* 進行匹配,於是寫出正則式: /foo\

JS利用配合replace替換指定字元

定義和用法replace() 方法用於在字串中用一些字元替換另一些字元,或替換一個與正則表示式匹配的子串。 語法stringObject.replace(regexp,replacement) 引數  描述 regexp 必需。規定了要替換的模式的 RegExp 物件。請注

Js 利用表達式和replace函數獲取string中所有被匹配到的文本

利用 str 正則表達 mat 則表達式 ole 括號 替換 字符串 js的replace函數除了替換文本以外還有獲取所有被正則表達式匹配到的文本的功能。這裏以一個簡單的案例來作為演示。 利用正則查找出所有被兩個花括號包裹的字符串: var str = <div cl