当前位置:首页 > PHP教程 > php高级应用 > 列表

php 替换空行 不匹配空行问题解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-23 09:47:20 浏览: 评论:0 

一个空行,可能包括,换行符, ,空格。对字符串进行处理时,难免会遇到对空行进行处理。

1,替换空行,空行可包括空格, ,\t,\f,\n

$s = preg_replace('/(^(\s| )*$)/m', '',$s); 

2,替换空行,只包括换行符

$s = preg_replace('/(($\n\r*$)|(^\n\r*^))+/m', '',$s) 

3,替换空行,并将非空行的开头和结尾的空格去掉

$s = preg_replace('/^( |\s)*|( |\s)*$/m', '',$s); 

4,不匹配空行,直接不匹配空行,挺难的。其实不匹配空行,就是匹配非空行

preg_match_all('/\S+/m',$s,$match); 

5,多行匹配实例

  1. $s = "   
  2.  
  3.  test:  
  4.  11111  
  5.  22222  
  6.  
  7.  33333333333333333333  
  8.  44444444444444444444  
  9.  ";   
  10.    
  11. $s = preg_replace('/(^(\s|&nbsp;)*$)/m''<br>',$s);   
  12.    
  13. $pa = "/test:(((\s)*[^<]*)*)/i";   
  14. preg_match($pa,$s,$m);   
  15.    
  16. echo $m[1]; 

匹配test行到下面多空行之间的内空,也是11111,22222

6,常用匹配模式

i 模式中的字符将同时匹配大小写字母

m 字符串视为多行

s 将字符串视为单行,换行符作为普通字符

x 将模式中的空白忽略

e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。

A 强制仅从目标字符串的开头开始匹配

D 模式中的 $ 元字符仅匹配目标字符串的结尾

U 匹配最近的字符串

u 模式字符串被当成 UTF-8

Tags: 空行 办法 问题

分享到: