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

一个空行,可能包括,换行符, ,空格。对字符串进行处理时,难免会遇到对空行进行处理。
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,多行匹配实例

$s = " 
 
 test:
 11111
 22222
 
 33333333333333333333
 44444444444444444444
 "; 
 
$s = preg_replace('/(^(\s|&nbsp;)*$)/m', '<br>',$s); 
 
$pa = "/test:(((\s)*[^<]*)*)/i"; 
preg_match($pa,$s,$m); 
 
echo $m[1]; 
匹配test行到下面多空行之间的内空,也是11111,22222
6,常用匹配模式
i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。
A 强制仅从目标字符串的开头开始匹配
D 模式中的 $ 元字符仅匹配目标字符串的结尾
U 匹配最近的字符串
u 模式字符串被当成 UTF-8

时间: 2025-01-24 05:40:48

php 替换空行 不匹配空行问题解决办法的相关文章

jquery正则匹配空行代码

规则匹配 用s+      用s*      可以都试试.哈哈  一些常用的正则表达式 "^/d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?/d+$" //整数 "^/d+(/./d+)?$" //非负浮

收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)_正则表达式

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"a

Android 编译出错版本匹配问题解决办法

Android 编译出错版本匹配问题解决办法 解决问题的关键在于版本匹配, compileSdkVersion compileSdkVersion targetSdkVersion 这三个参数的整数值都应该是一样的,这里我全部设置成23, 在这之前我还升级了:appcompat到com.Android.support:appcompat-v7:24.0.0 最终编译成功,剩下的问题都是代码问题了 apply plugin: 'com.android.application' android {

PHP使用数组依次替换字符串中匹配项_php实例

先来看个sql语句: select * from table where ctime >= '[date-14]' and ctime <= '[date-1]'; 想把上面这句sql的中括号表示的日期依次换成下面的数组中的元素array('2015-07-01','2015-07-15'); 用正则匹配:找到第一个中括号部分,用第一个元素替换,然后找第二个,再替换 用sprintf函数:因为日期已经计算好,按照顺序替换就可以了. 因为markdown写正则比较麻烦,这里就直接上图片了 ps:

Kmplayer播放器没声音有画面问题解决办法

KMPlayer如果播放视频有图形没有声音我们可以从三个方面来分析,如视频有问题,KMPlayer软件参数设置问题,KMPlayer软件版本问题,下面来我们来分析一下吧. 1.打开KMPlayer,在界面中我们右击然后在弹出菜单点击"选项".点"参数设置",点左边的"滤镜控制",在右边的"DirectShow:"选项栏后删掉MMST://后面的".RM.RMVB",其它可别动,然后关闭退出 2.解决real

win7软件兼容问题解决办法

  win7软件兼容问题解决办法 最近几天装了个win7,遇到了不少的问题 通过同学的帮助 通过usb引导安装,pe系统解压缩 刷bios,主分区激活 装好后,出现了软件的不兼容, eclipse,war3等 后来经过网上的查找 在程序上右击弹出属性窗口 选择兼容标签页 根据win7提示的兼容模式进行相应的选择 还有下面几个复选框也要进行选中 才能使程序正常运行起来!

路由器常见问题解决办法

  路由器常见问题解决办法: 打开路由优化大师,进入高级设置页面,上网设置中检视帐号密码是否输入有误.这里的上网帐号不需要输入@163.gd之类的后缀,密码重新输入一遍. 一般的网络只需要设置正确的上网帐号和密码即可正常拨号上网,但也有部分地区网络运营商会对用户做单一限制,只允许同时段一个用户上线.可以在能正常宽带拨号上网的电脑上使用路由优化大师,进入高级设置页面,Mac地址克隆中选中克隆为当前电脑MAC地址后保存设置,重启路由器生效. 当一个路由器满足不了过多上网设备时,可以增加路由器来增加可

PHP Warning: Module &#039;modulename&#039; already loaded in问题解决办法

 这篇文章主要介绍了PHP Warning: Module 'modulename' already loaded in问题解决办法,本文总结了两种情况,需要的朋友可以参考下     出现标题这样的错误大概是: 1.模块加载了两次,所以php -i|grep Configure,看一下配置文件和配置include的目录,对于这些文件中是否有同名的module 2.动态加载模块时,模块的目录下与php.ini中都有一个同名so 知道上述的问题就好办了,先看php配置文件和include目录下的文件

WINXP系统关机自动重启问题解决办法

WINXP系统关机自动重启问题解决办法   问题描述:WINXP系统关机变成自动重启 1.右击"我的电脑",选取属性----高级----启动和故障恢复----设置----系统失败----自动重新启动,将前面的勾取消掉. 2.将所有外接设备拔掉,然后再进行测试..