首页 > 编程技术 > php

dedecms采集去除a标签代码

发布时间:2016-11-25 16:04

dedecms采集去除a标签代码

DedeCMS采集规则-过滤-替换-技巧2009-01-14 15:491.采集去除链接
[Copy to clipboard]CODE:
{dede:trim}]*)>([^<]*){/dede:trim}
--------------------------------

让field:title 标题突破30这个长度,修改代码的方法
找到./include/inc_arcpart_view.php
行291 :
if($titlelen=="") $titlelen = 30;
修改为
if($titlelen=="") $titlelen = 60;
就可以了,然后,你可以这样调用了
{dede:channelArtlist typeid='0' col=1 tablewidth='100%'}
{dede:arclist row="10"}
[field:title function="cn_substr('@me',38)" /]


{/dede:arclist}
{/dede:channelArtlist}

把这个延伸一下:关于inc_arcpart_view.php
function GetArcList($typeid=0,$row=10,$col=1,$titlelen=30,$infolen=160,
$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$keyword="",
$innertext="",$tablewidth="100",$arcid=0,$idlist="")
这里的参数都可以更改你实际需要的模板元素尺寸大小.

 

2. 采集过虑中去掉链接保留文字的方法!

柏老大的方法是{dede:trim}<a ([^>]*)>([^<]*)</a>{/dede:trim}
这样做会去掉<a hf.......>与</a>之间的字符!这样整个文章就少了部分字符,不完整了!

后来我多次测试,总算找到了正确的使用方法!如下:
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}

做成两条采集规则就可以了!
在实际使用中好像([^<]*)([^>]*)两条一起使用才行!

3. 过滤div
{dede:trim}]*)>{/dede:trim}
{dede:trim}
{/dede:trim}
过滤js
{dede:trim}]*)>([^<]*){/dede:trim}


过滤未知变量字符
固定(.*)固定


4.dede万能过滤代码
以下是常用的正则表达式标签
{dede:trim}<tbody(.*)>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table(.*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<tr(.*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<td(.*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<font(.*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<a(.*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<param(.*)>{/dede:trim}
{dede:trim}<embed(.*)</embed>{/dede:trim}
{dede:trim}<object(.*)</object>{/dede:trim}
{dede:trim}<iframe(.*)</iframe>{/dede:trim}
{dede:trim}<form(.*)</form>{/dede:trim}
{dede:trim}<input(.*)>{/dede:trim}
{dede:trim}<scrīpt(.*)</scrīpt>{/dede:trim}
{dede:trim}<style(.*)</style>{/dede:trim}
{dede:trim}<!--(.*)-->{/dede:trim}

以下为不常用的正则表达式标签
{dede:trim}<div(.*)>{/dede:trim}
{dede:trim}</div>{/dede:trim}
{dede:trim}<center(.*)>{/dede:trim}
{dede:trim}</center>{/dede:trim}
{dede:trim}<p(.*)>{/dede:trim}
{dede:trim}</p>{/dede:trim}
{dede:trim}<span(.*)>{dede:trim}
{dede:trim}</span>{dede:trim}
{dede:trim}<img(.*)>{/dede:trim}

/////////////////////////////////////

5.织梦标题不全,鼠标指向显示全部的代码:
{dede:arclist titlelen='100'}

[field:title function=' ( strlen("@me")>40 ? cn_substr("@me",40): "@me" ) '/]
{/dede:arclist}

6.dede/inc/inc_archives_functions.php第100行(flash频道远程flash本地化的BUG)
$cfg_uploaddir = $GLOBALS['media_dir'];
修改成
$cfg_uploaddir = $GLOBALS['cfg_other_medias'];

6.发布时间,来源,作者可以通过@me函数实现,如:在自定义处理接口:处输入 @me = "Azure·【博】" 就表示来源为“Azure·【博】”
7.内容的替换:在所采集的文章内容中有多媒体,使用的是相对路径,采集的时候又不想下载,最好的办法就是将地址替换成媒体的实际地址。可以这样实现,在文章内容规则部分的自定义处理接口:处输入@me=str_replace('src="str1','src="str2',@me);


dedecms 带超连接关键字 如何去掉
全部去
{dede:trim}^<a*'>*</a>${/dede:trim}

本款程序是一款简单的php生成 html文件的源码代码哦,只涉及到模板与写简单的内容哦,如果要涉及到数据库思路上差不多了。

<?php
 $template_file = "template_art.html";
 if( file_exists($template_file) ){
  $mb = file_get_contents($template_file);    
  if( !empty($mb) ){
   
   for( $i=1;$i<=100;$i++) {
    $temp = makehtml($mb);
    $handle = fopen($i.".html",'w+');   
    if( fwrite($handle,$temp)){  
     echo("创建文件$i.html成功<br>");
    }else{
     echo('文件不可写状态!');
    }
   }
   fclose($handle);   
  }else{
    die('read template fail');
  }
 }else{
  die('Template file not exists');
 }
 
 function makehtml($str){
  $array = array('{dxh}menu{/dxh}','{dxh}content{/dxh}','{dxh}hot{/dxh}','{dxh}down{/dxh}','{dxh}help{/dxh}','{dxh}school{/dxh}');
  $Rarray = array('菜单','内容','热点','下载','帮助','学院');
  $str = str_replace($array,$Rarray,$str);
  return $str;
 }

php对中文的支持不怎么好哦,特别在我一个字符串中有中文与英语时截取就是个问题了,处理不好就会出现乱码了,下面我们这截取中文字符串函数就很好的处理了这件事情。

function MooCutstr($string, $length, $dot = ' ...') {
 global $charset;

 if(strlen($string) <= $length) {
  return $string;
 }
 $string = str_replace(array('&amp;', '&quot;', '&lt;', '&gt;'), array('&', '"', '<', '>'), $string);
 $strcut = '';
 if(strtolower($charset) == 'utf-8') {
  $n = $tn = $noc = 0;
  while($n < strlen($string)) {
   $t = ord($string[$n]);
   if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
    $tn = 1; $n++; $noc++;
   } elseif (194 <= $t && $t <= 223) {
    $tn = 2; $n += 2; $noc += 2;
   } elseif (224 <= $t && $t < 239) {
    $tn = 3; $n += 3; $noc += 2;
   } elseif (240 <= $t && $t <= 247) {
    $tn = 4; $n += 4; $noc += 2;
   } elseif (248 <= $t && $t <= 251) {
    $tn = 5; $n += 5; $noc += 2;
   } elseif ($t == 252 || $t == 253) {
    $tn = 6; $n += 6; $noc += 2;
   } else {
    $n++;
   }
   if($noc >= $length) {
    break;
   }
  }
  if($noc > $length) {
   $n -= $tn;
  }
  $strcut = substr($string, 0, $n);
 } else {
  for($i = 0; $i < $length; $i++) {
   $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
  }
 }
 $strcut = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $strcut);

 return $strcut.$dot;
}

下面要提供了是一款常用的php 常用分页代码哦,功能全面。

function multi($total, $perPage, $curPage, $pageUrl, $maxPages = 0, $page = 10, $autoGoTo = TRUE, $simple = FALSE) {
 $multiPage = '';
 $pageUrl .= strpos($pageUrl, '?') ? '&amp;' : '?';
 $realPages = 1;
 if($total > $perPage) {
  $offset = 2;

  $realPages = @ceil($total / $perPage);
  $pages = $maxPages && $maxPages < $realPages ? $maxPages : $realPages;

  if($page > $pages) {
   $from = 1;
   $to = $pages;
  } else {
   $from = $curPage - $offset;
   $to = $from + $page - 1;
   if($from < 1) {
    $to = $curPage + 1 - $from;
    $from = 1;
    if($to - $from < $page) {
     $to = $page;
    }
   } elseif ($to > $pages) {
    $from = $pages - $page + 1;
    $to = $pages;
   }
  }

  $multiPage = ($curPage - $offset > 1 && $pages > $page ? '<a href="'.$pageUrl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
   ($curPage > 1 && !$simple ? '<a href="'.$pageUrl.'page='.($curPage - 1).'" class="prev"'.$ajaxtarget.'>&lsaquo;&lsaquo;</a>' : '');
  for($i = $from; $i <= $to; $i++) {
   $multiPage .= $i == $curPage ? '<strong>'.$i.'</strong>' :
    '<a href="'.$pageUrl.'page='.$i.($ajaxtarget && $i == $pages && $autoGoTo ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
  }

  $multiPage .= ($curPage < $pages && !$simple ? '<a href="'.$pageUrl.'page='.($curPage + 1).'" class="next"'.$ajaxtarget.'>&rsaquo;&rsaquo;</a>' : '').
   ($to < $pages ? '<a href="'.$pageUrl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realPages.'</a>' : '').
   (!$simple && $pages > $page && !$ajaxtarget ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=''.$pageUrl.'page='+this.value; return false;}" /></kbd>' : '');

  $multiPage = $multiPage ? '<div class="pages">'.(!$simple ? '<em>&nbsp;'.$total.'&nbsp;</em>' : '').$multiPage.'</div>' : '';
 }
 $maxpage = $realPages;
 return $multiPage;
}

function dhtmlspecialchars($string) {
 if(is_array($string)) {
  foreach($string as $key => $val) {
   $string[$key] = dhtmlspecialchars($val);
  }
 } else {
  $string = preg_replace('/&amp;((#(d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\1',
  str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string));
 }
 return $string;
}

php留言板后台管理-查看代码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$lianjie = mysql_connect("localhost","root","xiaolie") or die("连接失败");
mysql_query("set names utf8");
if($lianjie)
{
 mysql_select_db("xiaolie");
 if(!@$_GET["id"])
 {
  $jieguo = "select * from zhuce";
  $fasong = mysql_query($jieguo) or die(mysql_error());
  echo "<table border=1>
    <tr>
     <td>编号</td>
     <td>用户名称</td>
     <td>性别</td>
     <td>年龄</td>
     <td>注册时间</td>
     <td>详细信息</td>
    </tr>";
  while($nr=mysql_fetch_array($fasong))
  {
   echo "<tr>
     <td>".$nr["id"]."</td>
     <td>".$nr["name"]."</td>
     <td>".$nr["xingbie"]."</td>
     <td>".$nr["nianling"]."</td>
     <td>".$nr["zc_shijian"]."</td>
     <td><a href=ck_my.php?id=".$nr["id"].">查看</a></td>
    </tr>";
  }
  echo "</table>";
 }
 else
 {
  $jieguo = "select * from zhuce where id=".$_GET["id"];
  $fasong = mysql_query($jieguo);
  $nr = mysql_fetch_array($fasong);
  echo "编号:".$nr["id"]."<br>用户名称:".$nr["name"]."<br>性别:".$nr["xingbie"]."<br>年龄:".$nr["nianling"]."<br>注册时间:".$nr["zc_shijian"]."<br>";
  echo "<br><br><a href=ck_my.php>继续查询</a>";
 }
}


?>

标签:[!--infotagslink--]

您可能感兴趣的文章: