样式
mip规范结构大致如上代码,具体的就自行修改。
mip图片改造
图片的格式需要换成
我增加了一个函数,在include 里面的extend.func.php 下。这个应该所有的php后台都是试用的
function replaceurl($content){ //$pattern = "/]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i"; $pattern="//"; preg_match_all($pattern, $content,$matches); $full_img = $matches[0]; $full_src = $matches[1]; foreach ($full_img as $k => $v) { $v1 = str_replace("", ">", $v1); $v1 = str_replace('src="/ueditor','src="/ueditor',$v1); $new_path = $url.$full_src[$k]; $v1 = str_replace($full_src[$k], $new_path, $v1); $content = str_replace($v, $v1, $content); } return $content; }
后面又研究了下,如果是用的织梦的编辑器,就会产生style,于是我又弄了另外一个然后织梦调用主体内容 {dede:field.body function='replaceurl(@me)'/} 执行了下函数替换了img标签。
function replaceurl($content){ $pattern = Array("/]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("",">"); $content = preg_replace($pattern, $replacement, $content); return $content; }
这个的话就直接把style去掉了,好歹解决了吧!推荐用下面这个。
style标签去除我们在里面会更改字的样子,就会产生style,又得替换
function replaceurl($content){ $pattern = Array("/]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("",">"); $content = preg_replace($pattern, $replacement, $content); return $content; }
还是一样主体内容 {dede:field.body function='replaceurl(@me)'/} 这样调用,具体如果还需要详细的话可以更改里面的正则表达式
不去掉文章style比较麻烦,网上看见的,没测试是否可行,可以自行研究下,大概就是提取body里面的style生成class然后再调用到头部去
因为我的并没有用多少style所以懒搞的了。
(1)、找到include/arc.archives.class.php,找到函数ReplaceKeyword($kw,&$body),大概1182行,在这个函数后面添加如下2个函数:
function replacePicUrl($content = null, $url="") { $pattern = "/]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i"; $replacement = ""; $content = preg_replace($pattern, $replacement, $content); return $content; } function getStyle($content = null){ preg_match_all("/style=('|")([^'"]+)('|")/", $content,$matches); $styles = $matches[0]; $styles_value = $matches[2]; $style_custom = ""; $i = 0; foreach($styles_value as $key){ $style_custom .= ".class".$i."{".$key."}"; $class_name = 'class="class'.$i.'"'; $replacements = $class_name; $patterns = $styles[$i]; $content = str_replace($patterns, $replacements, $content); $i++; } $res['style_custom'] = $style_custom; $res['content'] = $content; return $res; }
$this->SplitTitles = Array();上面,(2)在函数ParAddTable()里的
unset($row);下面,大概253行添加如下代码:
$content = $this->replacePicUrl($this->Fields['body'], $GLOBALS['cfg_basehost']); $content_arr = $this->getStyle($content); $this->Fields['body'] = $content_arr['content']; $this->Fields['style_custom'] = $content_arr['style_custom'];
(3)、找到函数MakeHtml($isremote=0),大概358行,在里面的
$this->Fields['filename'] = empty($this->Fields['filename'])? '' : $this->Fields['filename'];下面添加如下代码:
$this->Fields['style_custom'] = empty($this->Fields['style_custom'])? '' : $this->Fields['style_custom']; (4)、在templete的article_article.htm模板中的head标签内添加如下代码:{dede:field.custom_style/}
注明:内链请勿填写绝对地址,还是在上面2、3的方法里面改,还是增加一个变量正则,然后替换。www.lol9.cn
function replaceurl($content){ $pattern = Array("/]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i",'/]+bhref="([^"]*)"[^>]*>/i'); $replacement = Array("",">",''); $content = preg_replace($pattern, $replacement, $content); return $content; }
如果你用了织梦自带的关键字加链接,在核心》批量维护》文档关键词维护里面,那么就要替换成绝对地址与增加mip链接格式
打开include/arc.archives.class.php 文件 ,大概在1219行,在变量$key_url前面加上自己的链接,与href前面加上 data-type=mip
$query = "SELECT * FROM dede_keywords WHERe rpurl<>'' ORDER BY rank DESC"; $this->dsql->SetQuery($query); $this->dsql->Execute(); while($row = $this->dsql->GetArray()) { $key = trim($row['keyword']); $key_url=trim($row['rpurl']); $karr[] = $key; $kaarr[] = "$key"; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)