`
phantom
  • 浏览: 163183 次
社区版块
存档分类
最新评论

php 正则表达式的是一个使用范例 统计链接生成与替换

阅读更多
<?php

class acmeCache{

 function fetch($name, $refreshSeconds = 0){

  if(!$GLOBALS['cache_active']) return false;
  if(!$refreshSeconds) $refreshSeconds = 60;
  $cacheFile = acmeCache::cachePath($name);
  if(file_exists($cacheFile) and
   ((time()-filemtime($cacheFile))< $refreshSeconds))
   $cacheContent = file_get_contents($cacheFile);
  return $cacheContent;
 }

 function save($name, $cacheContent){
  if(!$GLOBALS['cache_active']) return;
  $cacheFile = acmeCache::cachePath($name);
  acmeCache::savetofile($cacheFile, $cacheContent);
 }

 // for internal use
 // ====================
 function cachePath($name){
  $cacheFolder = $GLOBALS['cache_folder'];
  if(!$cacheFolder) $cacheFolder = trim($_SERVER['DOCUMENT_ROOT'],'/').'/cache/';
  return $cacheFolder . md5(strtolower(trim($name))) . '.cache';
 }

 function savetofile($filename, $data){
  $dir = trim(dirname($filename),'/').'/';
  acmeCache::forceDirectory($dir);
  $file = fopen($filename, 'w');
  fwrite($file, $data); fclose($file);
 }

 function forceDirectory($dir){ // force directory structure
  return is_dir($dir) or (acmeCache::forceDirectory(dirname($dir)) and mkdir($dir, 0777));
 }

}
function repHtml($data){
//$pattern = "|·<a href=(.*) target=_blank>(.*)</a>|Us"; //表格内的行
  $pattern = "|<a href=\"http://(.*)\"|Us"; //表格内的行
//  preg_match_all($pattern,$data,$matches);
//
  $data=preg_replace($pattern, '<a href="ad.php?p=$1"',$data);

//  foreach($matches[1] as $key =>$value)
//{
////echo $value."\n";
//}
  return $data;
}
$cache_active = true;
$cache_folder = 'cache/';
$key="zhuanti/share/intr.shtml";
 $result = acmeCache::fetch($key, 300+rand()%1); // 2-4分钟
  {
  	$data = file_get_contents ("http://www.jinghua.cn/zhuanti/share/intr.shtml");
     $result =  repHtml($data);
     acmeCache::save($key, $result);
  }

  echo $result;



?>

 

分享到:
评论

相关推荐

    易语言正则表达式文本替换

    例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

    正则表达式生成工具,正则表达式生成工具

    正则表达式(Regular Expression,简称regex)是一种用于匹配字符串的强大工具,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程语言中,正则表达式通常以字符串的形式存在,通过特定的语法和模式来定义...

    通过正则表达式生成数据

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串的模式匹配。在本主题中,我们将深入探讨如何使用正则表达式来生成满足特定条件的随机数据。这在...

    强大的正则表达式生成工具 C#版

    在这个“强大的正则表达式生成工具 C#版”中,我们可以期待一个专为C#开发者设计的高效、直观的工具,它能够帮助程序员快速创建、测试和调试正则表达式。 正则表达式的基本概念包括: 1. **字符集**:如`.`代表...

    正则表达式自动生成器 V2.0.0.1 官方多语版

    正则表达式自动生成器V2.0.0.1是一款强大的工具,旨在帮助用户方便快捷地构建和测试正则表达式。它提供了多语言支持,使得不同地区的用户都能无障碍地使用。在IT领域,正则表达式是进行文本处理、数据验证和搜索替换...

    pb 使用正则表达式源码pbregexp

    在PowerBuilder中,pbregexp组件提供了一个接口,使得开发者可以方便地在PB脚本中使用正则表达式功能。这个组件可能包含以下功能: 1. **匹配**:检查输入字符串是否符合特定的正则表达式模式。 2. **查找**:在...

    根据正则表达式生成满足正则的数据

    在这个文件中,开发者可能会创建一个Xeger对象,传入一个正则表达式,然后调用相关方法来生成数据。例如,如果正则表达式是`\d{5}-\d{4}`,它表示一个五位数字后跟一个破折号再跟四位数字,Xeger会生成类似"12345-...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...

    正则表达式测试工具C#版(src)

    本项目提供了一个C#编写的正则表达式测试工具,包含完整的源代码,可以帮助开发者调试和测试他们的正则表达式,支持查找和替换功能,并能直观地显示匹配结果。 1. **C#中的正则表达式基础** - `System.Text....

    使用正则表达式验证一年的12个月份

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作,广泛应用于编程语言中。在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一...

    wps表格excel正则工具,excel正则表达式替换/匹配/查找/搜索/提取数字

    而本软件正是把强大的正则功能完美地添加到表格中,让 Excel、WPS 支持正则表达式的搜索、匹配提取、替换、定位等,让数据处理能力进化一个层次! 让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel ...

    vb正则表达式实例(正则表达式测试程序)

    - 这个程序可能包含一个输入框让用户输入正则表达式,另一个输入框输入待测试的文本,然后提供按钮来执行匹配、替换等操作。 - 程序会显示匹配结果,包括匹配的子串、开始位置和结束位置等信息,帮助开发者调试和...

    VC、VC++,MFC 正则表达式类库

    总的来说,MFC的正则表达式类库提供了一个高效且易于使用的接口,使得VC++开发者能够方便地在Windows应用程序中处理复杂文本模式。了解并熟练掌握这些类和方法,有助于提升文本处理部分的代码质量及效率。

    正则表达式生成器C#源码.rar

    这里用C#实现了正则表达式相关功能,并记录了所有的正则表达式的相关符号,是一个不可多得的正则表达式生成工具,这个工具适用3种场合: 1.对于初学正则表达式的朋友,这个工具适合你 2.需要C#正则表达式示例代码的...

    jJAVA正则表达式替换字符

    本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"&lt;title&gt;XXXX&lt;/title&gt;"中的文字XXXX,用正则表达式获取指定...

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    正则表达式生成工具 正则表达式

    正则表达式(Regular Expression,简称regex)是一种用于匹配字符串的强大工具,广泛应用于文本处理、数据验证、搜索和替换等场景。它通过一种特定的语法来定义一个模式,然后检查这个模式是否存在于输入的字符串中...

    Java使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    正则表达式必知必会v_1.0.pdf

    同时,正则表达式还提供了其他方式来匹配任意字符,例如使用字符集合([xxx])来匹配某些字符中的一个字符。 元字符和转义 在正则表达式中,元字符表示在正则表达式中不代表其字面含义,而是具有特别意义的字符。...

Global site tag (gtag.js) - Google Analytics