Php正则表达式替换

摘要:
:\s*{([^]*)})?
Php正则表达式替换第1张Php正则表达式替换第2张PHP替换
 1Php正则表达式替换第3张function split_curly_options1($text
 2Php正则表达式替换第3张{
 3Php正则表达式替换第3张  $retArr = array();
 4Php正则表达式替换第3张  
 5Php正则表达式替换第3张  if (empty($text)) {
 6Php正则表达式替换第3张    return $retArr;
 7Php正则表达式替换第3张  }
 8Php正则表达式替换第3张  $options = preg_split('|,|', $text);
 9Php正则表达式替换第3张  
10Php正则表达式替换第3张  foreach ($options as $opt) {
11Php正则表达式替换第3张    if (empty($opt)) { continue; }
12Php正则表达式替换第3张    if (preg_match('/(.*)=(.*)/', $opt, $match)) {
13Php正则表达式替换第3张      $retArr[$match[1]] = $match[2];
14Php正则表达式替换第3张    } else {
15Php正则表达式替换第3张      $retArr[$opt= '';
16Php正则表达式替换第3张    }
17Php正则表达式替换第3张  }
18Php正则表达式替换第3张  return $retArr;
19Php正则表达式替换第3张}
20Php正则表达式替换第3张
21Php正则表达式替换第3张[[PageList {size=5,category=XX,titlelength=Z9,countname=XXcount} <div>%title%|%title%-%time%</div>]]
22Php正则表达式替换第3张
23Php正则表达式替换第3张// This macro transcludes another page into a wiki page.
24Php正则表达式替换第3张function view_macro_transclude($args)
25Php正则表达式替换第3张{
26Php正则表达式替换第3张  global $pagestore, $ParseEngine, $ParseObject, $HeadingOffset, $PgTbl;
27Php正则表达式替换第3张  static $visited_array = array();
28Php正则表达式替换第3张  static $visited_count = 0;
29Php正则表达式替换第3张  
30Php正则表达式替换第3张  $previousHeadingOffset = $HeadingOffset;  // Backup previous version
31Php正则表达式替换第3张  
32Php正则表达式替换第3张  // Check for CurlyOptions, and split them
33Php正则表达式替换第3张
34Php正则表达式替换第3张  preg_match("/^(?:\s*{([^]]*)})?\s*(.*)$/", $args, $arg);
35Php正则表达式替换第3张
36Php正则表达式替换第3张  $options = split_curly_options1($arg[1]);
37Php正则表达式替换第3张  $search = $arg[2];
38Php正则表达式替换第3张
39Php正则表达式替换第3张  $q1 = $pagestore->dbh->query("SELECT t1.title, t1.version, t1.author, t1.time, " .
40Php正则表达式替换第3张                             "t1.username, LENGTH(t1.body), t1.comment, " .
41Php正则表达式替换第3张                             "t1.mutable, MAX(t2.version) " .
42Php正则表达式替换第3张                             "FROM $PgTbl AS t1, $PgTbl AS t2 " .
43Php正则表达式替换第3张                             "WHERE t1.title = t2.title " .
44Php正则表达式替换第3张                             "GROUP BY t2.title, t1.version " .
45Php正则表达式替换第3张                             "HAVING t1.version = MAX(t2.version)".
46Php正则表达式替换第3张                             "limit 0," . $options[size]);
47Php正则表达式替换第3张
48Php正则表达式替换第3张 $text = '';
49Php正则表达式替换第3张
50Php正则表达式替换第3张 $patenArr = array('(%title%)',
51Php正则表达式替换第3张                  '(%time%)'
52Php正则表达式替换第3张                    );
53Php正则表达式替换第3张
54Php正则表达式替换第3张  while(($result = $pagestore->dbh->result($q1)))
55Php正则表达式替换第3张  {
56Php正则表达式替换第3张
57Php正则表达式替换第3张    $arr = array($result[0],$result[3]);
58Php正则表达式替换第3张
59Php正则表达式替换第3张  //  $text = $text . preg_replace('(%([a-z]+)%)', "make_result('$1')", $search);
60Php正则表达式替换第3张    $text = $text . preg_replace($patenArr, $arr, $search);
61Php正则表达式替换第3张  }
62Php正则表达式替换第3张  return $text;

参照:

http://www.php.net/manual/zh/function.preg-replace.php

免责声明:文章转载自《Php正则表达式替换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇delphi数据类型Office2010修改|更改|更换序列号的办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#System.Text.RegularExpressions.Regex使用(二)

string x = "\\";Regex r1 = new Regex("^\\\\$");Console.WriteLine("r1 match count:" + r1.Matches(x).Count);//1Regex r2 = new Regex(@"^\\$");Console.WriteLine("r2 match count:" + r...

ets学习

http://diaocow.iteye.com/blog/1768647 http://www.cnblogs.com/me-sa/archive/2011/08/11/erlang0007.html ets是什么? ets是Erlang Term Storage的缩写,它是一个基于内存的KV Table,支持大数据量存储以及高效查询. ets有4种类型...

search(14)- elastic4s-统计范围:global, filter,post-filter bucket

聚合一般作用在query范围内。不带query的aggregation请求实际上是在match_all{}查询范围内进行统计的: GET /cartxns/_search { "aggs": { "all_colors": { "terms": {"field" : "color.keyword"} } } } }...

Cygwin apt-cyg ”MD5 sum did not match”

直接编辑apt-cyg 文件,找到md5sum,替换修改成sha512sum。 # check the md5 digest=`cat "desc" | awk '/^install: / { print $4; exit }'` digactual=`sha512sum $file | awk '{print $1}'` if !...

使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab

大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示. 本文实现采用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab,实现原理如下: 第一层Tab:FragmentTabHost + Fragment; 第二层T...

neo4j查询语句

一:查询 比较操作: = <> < > <= >= 布尔操作: AND OR NOT XOR 1、把节点的前两个字为"提示"的节点去除"提示": match(l) where l.name=~'提示.*' with collect(l.name) as result unwind result as row ret...