网站地图    收藏   

主页 > php专栏 > php函数大全 >

php preg_split()字符串分割函数的使用方法 - php函数

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:

[导读] array preg_split(string pattern,string subject[,int limit[,int flags]])返回一个数组,包含 subject 中沿着与 pattern 正则表...

php 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() 只返回非空的成分,看个实例:

  1. <?php 
  2. $word_count = $word_length = 0; 
  3.  
  4. if ($fh = fopen('novel.txt','r')) { 
  5.   while (! feof($fh)) { 
  6.     if ($s = fgets($fh)) { 
  7.       $words = preg_split('/s+/',$s,-1,PREG_SPLIT_NO_EMPTY); 
  8.       foreach ($words as $word) { 
  9.         $word_count++; 
  10.         $word_length += strlen($word); 
  11.       } 
  12.     } 
  13.   } 
  14.  
  15. print sprintf("The average word length over %d words is %.02f characters."
  16.               $word_count
  17.               $word_length/$word_count); 
  18. ?> 

PHP简单应用:

  1. <? 
  2. $user_info = "+J+++G+++++w"
  3. $fields = preg_split("/+{1,}/"$user_info); 
  4. while ($x < sizeof($fields)) : 
  5.    print $fields[$x]. "<br>"
  6.    $x++; 
  7. endwhile
  8. ?> 

由于分割后变成了数组,所以我们要利用foreach 来遍历输出了:

  1. <?php 
  2.    $delimitedText = "+A+++G+++++++++++C"
  3.    $fields = preg_split("/+{1,}/"$delimitedText); 
  4.     foreach($fields as $fieldecho $field."<br />"
  5. ?> 
  6.  
  7. <? 
  8. $text = "a, o, p"
  9. $fruitarray = preg_split( "/, | and /"$text ); 
  10. print "<pre>n"
  11. print_r( $fruitarray ); 
  12. print "</pre>n"
  13. ?> 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论