dedecms織夢去掉文章內容中的圖片寬度和高度限制的辦法

2019-10-10 織夢優化
  • 文章介紹
在做響應式或者手機站的模板時候,我們經常會遇到圖片因為長度和寬度固定,而無法自適應手機端的問題,原因就是是織夢的編輯器在上傳圖片時,會自動加上style屬性,因此,在保存文章時,我們需要先清除掉這些屬性。跟版網的小編最近也遇到這個問題,百度上搜了一下,有一種方法就是對body中的數據進行過濾,寫法如下(在內容頁找到{dede:field.body}修改為如下內容):

{dede:field.body runphp=yes}
global $cfg_basehost;
$str = @me;
$search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search2 = '#(<img.*?style=".*?)width:\d+px;([^"]*?.*?>)#i';
$search3 = '#(<img.*?style=".*?)height:\d+px;([^"]*?.*?>)#i';
$content = preg_replace($search,'$1$3',$str);
$content = preg_replace($search1,'$1$3',$content);
$content = preg_replace($search2,'$1$2',$content);
$content = preg_replace($search3,'$1$2',$content);
@me = $content;
//@me = str_replace('/uploads/allimg/', $cfg_basehost.'/uploads/allimg/', $content);//手機版圖片使用絕對路徑
{/dede:field.body}

小編試了一下,我復制的內容中還有一些雜項其實還是沒有過濾掉的。于是想到直接在保存時候進行處理,找到:/dede/article_add.php和/dede/article_edit.php 這兩個文件(對應文章模型,其他模型請找后臺對應的文件),搜索如下代碼:

$body = AnalyseHtmlBody($body,$description,$litpic,$keywords,'htmltext');

在這段代碼的后面加入:

//去除img中的style屬性 
$body = preg_replace("/style=\\\.+?['|\"]/i",'',$body); 
//去除img中的width,height屬性 
$exp=Array("/height=.{0,5}\s/i","/width=.{0,5}\s/i"); $exp_o=Array('',''); 
$body = preg_replace($exp,$exp_o,$body);

其實只改一個article_edit.php文件就行了,修改后發布或者修改文檔時候,會自動去除掉body中的所有style。后者會把內容中所有的style都會被去掉,文檔相當純凈。

具體用哪種方法,大家可以根據需求而定。

上一篇:巧用織夢替換函數實現英文頁碼的辦法

下一篇:dedecms自定義表單提交聯動類型只顯示枚舉值的解決辦法

專業的織夢模板定制下載站,在線購買后即可下載!

商業源碼

跟版網模板,累計幫助5000+客戶企業成功建站,為草根創業提供助力!

立刻開啟你的建站之旅
QQ在線客服

服務熱線

織夢建站咨詢
欢乐捕鱼人正版游戏下载 可以赚钱的游戏网站 爱玩捕鱼大圣归来红包 友玩广西棋牌十三张 浙江11选五遗漏 福彩20选8开奖结果236期 中原河南麻将手机版 正常期货配资手续费标准 pc蛋蛋加拿大 北京快乐8什么时候开始 查看历史股票走势 五分彩官方 湖南红中麻将怎么玩 长江投资股票分析 如何在网络上赚钱 河南麻将游戏下载 云南白药股票代码