1. 程式人生 > >php 去除圖片以及DIV的width、height、style,作用:ecshop手機網站呼叫商品詳情

php 去除圖片以及DIV的width、height、style,作用:ecshop手機網站呼叫商品詳情

1.去掉圖片的寬高,去掉DIV的style樣式


<?php
/*PHP正則提取圖片img標記中的任意屬性*/
$str = '<div style="margin: 0px auto; width: 740px;"> <p><img width="748" height="444" alt="" src="/images/upload/Image/manmiao_0001.jpg" /></p></div>';
//去掉圖片寬度
$search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
//去掉圖片高度
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$content = preg_replace($search,'$1$3',$str);
$content = preg_replace($search1,'$1$3',$content);
//去掉div的style
$content = preg_replace("/style=.+?['|\"]/i",'',$content);//這種方式很簡單易懂,但因為太簡單,不知道有沒有漏洞,否則去掉圖片的寬高也用這種方法寫了
highlight_string($content);
?>


請問php正則如何去掉得到img標籤中的 border屬性,例如:<img src="test.gif" border="0" alt="test1" />   替換後的  <img src="test.gif" alt="test1" />

一開始我就想到要 只去掉border="" 很簡單的寫出

1 $search '/(<img.*?)(border=".*?")([^>]+\/?>)/is';

它只能去掉形如<img src="囧1" border="囧2" />這樣的border,一般的 <img>標籤會有這樣幾種含有boder的情況

  1.     <img src="囧1" border="囧2" />
  2.     <img src='囧1' border='囧2' />
  3.     <img src=囧1 border=囧2 />

也就是有符合w3c標準的雙引號,還有不符合w3c標準單引號,無引號的情況。想要把他們的border也去掉

於是改成以下的正則:

1 $search '/(<img.*?)border=(["\']).*?\2([^>]+>)/is';

此正則只能解決有單、雙引號的border,暫時沒有解決無引號的

看了正則還支援三目運算: (xxx)? (?(分組號) yyy|zzz) 如果xxx不為空 執行yyy,否則執行zzzz

於是改成了此完美最終版本:

1 $search '/(<img.*?)border=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';

終於解決問題了,上一個php例子

01 <?php
02 //php過濾img標籤中的 border屬性
03 $str = '
04 1、<img src="test1.jpg" border="1" />
05 2、<img src=\'test2.jpg\' border=\'2\' />
06 3、<img src=test3.jpg border=3 />
07 ';
08 $search '/(<img.*?)border=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
09

相關推薦

php 去除圖片以及DIV的widthheightstyle,作用ecshop手機網站呼叫商品詳情

1.去掉圖片的寬高,去掉DIV的style樣式 <?php /*PHP正則提取圖片img標記中的任意屬性*/ $str = '<div style="margin: 0px auto; width: 740px;"> <p><img wid

PHP圖片上傳到伺服器上傳的錯誤型別

檔案上傳:資料從瀏覽器傳到伺服器; 檔案就是表單中資料的一部分,提交表單時,瀏覽器自動提交資料到伺服器,包括檔案在內; 表單上傳圖片 臨時目錄中的臨時檔案有有效期,預設是腳本週期(即一次請求結束); 下面是上傳後的檔案資訊: 需要將臨時上傳檔案持久化儲存,將其移

php中用正則表示式刪除img標籤的widthheightstyle

<?php $txt1='<a href="http://www.aiweik.com/index.php?m=home&c=newsdetail&a=index&id=1812337" style="margin:0 auto;bord

jQuery 的 width()height()innerWidth()innerHeight()outWidth()outHeight() 的區別

order head ges alt mar inner 顯示 round out jQuery width() 和 height() 方法 width() 方法設置或返回元素的寬度(不包括內邊距、邊框或外邊距)。 height() 方法設置或返回元素的高度(不包括內邊距、

php表單提交 圖片音樂視頻文字,四種類型共同提交到數據庫

class 文件 loaded 頁面 ins 需要 ech video 文件是否存在 這個問題一直困擾了我好幾天,終於在今天讓我給解決了,難以掩飾的激動。 其實在之前沒有接觸到這種問題,只是表單提交數據而已,再就是圖片,四種類型同時提交還真是沒遇到過,做了一個系統,其中有

PHP生成圖片驗證碼點擊切換實例

調用 ret image etc 格式 點擊切換 article png get http://www.jb51.net/article/51506.htm 現在讓我們來看下 PHP 代碼 復制代碼代碼如下: <?php session_start();functi

php圖片上傳類(支持縮放裁剪圖片縮略功能)

php圖片上傳類(支持縮放、裁剪、圖片縮代碼: /** * @author [Lee] <[<[email protected]>]> * 1、自動驗證文件是表單提交的文件還是base64流提交的文件 * 2、驗證圖片類型是否合法 * 3、驗證圖片尺寸是否合法 * 4、驗證圖片大小是否合法

jquery 對象的 heightinnerHeightouterHeight 的區別以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffsetTopscrollTop

有關 del core body pla port log path jstl 前言:jquery 對象的 height、innerHeight、outerHeight,還有 DOM 元素的 clientHeight、offsetHeight、scrollHeight、o

php 壓縮圖片,保留圖片的畫素透明度

/** * @param $picture 圖片資料流 比如file_get_contents(imageurl)返回的東東 * @param $destfile 儲存路徑 */ function miniImg($picture,$destf

YUV420PYUV420SPNV12NV21和RGB互相轉換並存儲為JPEG以及PNG圖片

音視訊實踐學習 android全平臺編譯ffmpeg以及x264與fdk-aac實踐 ubuntu下使用nginx和nginx-rtmp-module配置直播推流伺服器 android全平臺編譯ffmpeg合併為單個庫實踐 android-studio使用c

C# 處理PPT水印(二)——去除水印效果(文字水印圖片水印)

本文將對C#處理PPT幻燈片中的水印進一步說明和介紹。在C# 處理PPT水印(一)一文中,分享瞭如何插入水印效果的方法,包括插入文字水印效果、插入圖片作為水印效果兩種情況,那對於不需要水印效果的情況,要如何來去除PPT中已有的水印效果呢,具體實現步驟,可參考下面將要講述的方法。 工具 PS:安裝後,注意在編

CGI FastCGIPHP-CGIPHP-FPM 定義以及與nginx的應用關係

CGI common gateway interface,簡稱cgi,簡而言之就是一個介面,一種協議。它的作用就是幫助伺服器與語言通訊。 這裡以nginx和php為例,因為nginx和php的語言不通,因此需要一個溝通轉換的過程,而CGI就是這個溝通的協議。nginx伺服器在接受到瀏覽器傳遞過來的資料後,

CGI FastCGIPHP-CGIPHP-FPM 定義以及與nginx的應用關系

example 反向代理 過大 溝通 訪問量 分配 路徑 bsp 允許 CGI common gateway interface,簡稱cgi,簡而言之就是一個接口,一種協議。它的作用就是幫助服務器與語言通信。 這裏以nginx和php為例,因為nginx和php的語言不通,

[PHP] 檔案上傳過程中基於白名單黑名單基於MIME的認證以及目錄認證

1.基於黑名單 <?php $BlackList = array('asp','php','jsp','php5','asa','aspx');//黑名單 if (isset($_POST

安卓實現拍照上傳圖片以及剪下圖片

效果圖: 總結一下專案實現的選擇圖片、拍照、以及剪下圖片,再加一下圖片壓縮,上傳到伺服器等功能 網上有好多關於圖片上傳、拍照的方法,我這只是自己專案的一種方式,之前部落格也是總結過圖集上傳,裡面也包含圖片上傳,拍照的相關程式碼,在這我單獨拿出來總結一下,還有關於呼叫系統

微信小程式canvas畫圖文字字型換行,以及儲存圖片到本地的坑

頁面 :  <canvas style="width: 376px; height: 530px; background-color:#ddd;position:absolute;left:-1000px;" canvas-id="myCanvas"></

PHP合成圖片生成文字居中對齊畫線矩形三角形多邊形圖片抗鋸齒不失真 高效能原始碼示例

function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . date ( 'Ymd' ) . '/'; $img = $date . md5 ( $source

第二十篇 Android獲取本機圖片音訊視訊文件以及本地資料夾列表

android獲取本機圖片資料夾,即相簿,以及相簿下的所有圖片的方法,貼出工具類,方便後續使用,效果圖就類似百度網盤上傳圖片的 選擇相簿介面和點選某個相簿選擇圖片的介面. FileManager類: public class FileManager { p

將企業協作與微信結合,明道打通微信實現從微信到明道的訊息分享,目前已支援文字圖片以及連結

微信已經成為很多人手機裡的必備應用,很多公司甚至將其作為內部工作的溝通工具,因此其工作屬性也凸顯了出來。為了讓企業內部協作和微信有更多的結合,明道把自身的產品和微信打通,實現了從微信到明道的訊息分享。 目前這套分享機制已經支援文字、圖片和連結,其實現機制和印象筆記類似,明道使用者只需在微信中關注“我的明道

Java 轉PPT為圖片PDFSVGXPSODP以及PPT和PPTX互轉

同一文件,在不同的文件檢視器或者編譯環境中,需要對該文件進行相應的格式轉換。下面的內容中,將介紹通過Java程式設計來實現PPT文件格式轉換的方法。 使用工具: Spire.Presentation for Java IntelliJ IDEA   Jar檔案獲取及匯入: 方法1