php正则表达怎么把一个字符串中的所有空格都转化为下划线
展开全部
使用正则表达式进行替换的函数是preg_replace,此函数使用的一般格式是:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
典型的使用情况是带三个参数,第一个为正则表达式表示的查找内容,第二个参数为替换后的内容,对三个参数是字符串。
你的问题把所有空格转换为下划线,写出这个语句有几个细节,如果是只替换空格(不包含制表、回车等其它空白),而且一个空格替换为一个下划线、两个空格替换为两个下划线,那么语句如下(假设字符串变量是$str):
$str=preg_replace('/ /','_',$str);
上面语句中的'/ /'为正则表达式,/为定界符(可以用其它),中间的一个空格表示查找的内容就是一个空格。
如果多个空格替换为一个_,那么需要在空格后面使用一个+,表示匹配1个或者多个空格,语句是:
$str=preg_replace('/ +/','_',$str);
如果是对各类空白字符(空格、制表、回车等)进行替换,那么可以使用\s代替空格,语句是:
$str=preg_replace('/\s+/','_',$str);
上面使用了+表示多个空白(例如两个空格、或者一个空格与回车)替换为一个下划线符号。
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
典型的使用情况是带三个参数,第一个为正则表达式表示的查找内容,第二个参数为替换后的内容,对三个参数是字符串。
你的问题把所有空格转换为下划线,写出这个语句有几个细节,如果是只替换空格(不包含制表、回车等其它空白),而且一个空格替换为一个下划线、两个空格替换为两个下划线,那么语句如下(假设字符串变量是$str):
$str=preg_replace('/ /','_',$str);
上面语句中的'/ /'为正则表达式,/为定界符(可以用其它),中间的一个空格表示查找的内容就是一个空格。
如果多个空格替换为一个_,那么需要在空格后面使用一个+,表示匹配1个或者多个空格,语句是:
$str=preg_replace('/ +/','_',$str);
如果是对各类空白字符(空格、制表、回车等)进行替换,那么可以使用\s代替空格,语句是:
$str=preg_replace('/\s+/','_',$str);
上面使用了+表示多个空白(例如两个空格、或者一个空格与回车)替换为一个下划线符号。
展开全部
很简单代码如下:
preg_replace('/[\s ]/', '_', $content); // 替换空格,包括大空格
如果有疑问,欢迎追问~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果光是替换空格,用不着使用正则,用字符串替换效率更高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询