php正则表达怎么把一个字符串中的所有空格都转化为下划线

 我来答
阳光上的桥
2015-12-07 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
使用正则表达式进行替换的函数是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);
上面使用了+表示多个空白(例如两个空格、或者一个空格与回车)替换为一个下划线符号。
易寄波Re
2013-06-19 · TA获得超过404个赞
知道答主
回答量:59
采纳率:0%
帮助的人:88.7万
展开全部

很简单代码如下:

preg_replace('/[\s ]/', '_', $content); // 替换空格,包括大空格

如果有疑问,欢迎追问~

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友690c81e14
2013-06-19 · TA获得超过635个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:666万
展开全部
如果光是替换空格,用不着使用正则,用字符串替换效率更高
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式