php的正则处理函数总结分析

2019-04-10 19:34:46于海丽


例子 2. preg_replace_callback() 和 create_function()

<?php
   /* 一个 UNIX 风格的命令行过滤器,将每个段落开头的
   * 大写字母转换成小写字母 */

   $fp = fopen("php://stdin", "r") or die("can't read stdin");
   while (!feof($fp)) {
       $line = fgets($fp);
       $line = preg_replace_callback(
           '|<p>s*w|',
           create_function(
               // 这里使用单引号很关键,
               // 否则就把所有的 $ 换成 $
               '$matches',
               'return strtolower($matches[0]);'
           ),
           $line
       );
       echo $line;
   }
   fclose($fp);
?>  


最后是

preg_split
(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_split -- 用正则表达式分割字符串
不再赘述。
说明
array preg_split ( string pattern, string subject [, int limit [, int flags]] )


返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。 

如果指定了 limit,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用来继续指定可选参数 flags。 

flags 可以是下列标记的任意组合(用按位或运算符 | 组合): 


PREG_SPLIT_NO_EMPTY 
如果设定了本标记,则 preg_split() 只返回非空的成分。 

PREG_SPLIT_DELIM_CAPTURE 
如果设定了本标记,定界符模式中的括号表达式也会被捕获并返回。本标记添加于 PHP 4.0.5。 

PREG_SPLIT_OFFSET_CAPTURE 
如果设定了本标记,如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其在 subject 中的偏移量。本标记自 PHP 4.3.0 起可用。 
相关文章 大家在看