php中3种方法删除字符串中间的空格
发布时间:2017-05-03, 15:31:54 分类:PHP | 编辑 off 网址 | 辅助
正文 867字数 541,232阅读
第一种:使用正则<?php
echo preg_replace('# #', '', 'ab ab');
//输出 "abab"
?>
Run code
Cut to clipboard
第二种:使用str_replace()函数
<?php
echo str_replace(' ', '', 'ab ab');
//输出 "abab'
?>
Run code
Cut to clipboard
第三种:使用strtr()函数
<?php
echo strtr('ab ab', array(' '=>''));
// 输出 "abab"
?>
Run code
Cut to clipboard
strtr()函数使用上有点特别,实质上:
<?php
strtr('ewb', 'web', '123') ==
strtr('ewb', array('e '=> '2', 'w' => '1', 'b' => '3')) ==
str_replace(array('e', 'w', 'b'), array('2', '1', '3'), 'ewb');
?>
Run code
Cut to clipboard
第四种:使用封装函数
function trimall($str)//删除空格
{
$qian=array(" "," ","\t","\n","\r");
$hou=array("","","","","");
return str_replace($qian,$hou,$str);
}
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 2 条评论 »
1、去掉字符串前后所有空格:
function Trim(str) { return str.replace(/(^\\s*)|(\\s*$)/g, ""); }
说明:
如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串。
2、去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g)
function Trim(str,is_global) { var result; result = str.replace(/(^\\s+)|(\\s+$)/g,""); if(is_global.toLowerCase()=="g") { result = result.replace(/\\s/g,""); } return result; }
1、去掉字符串前后所有空格:
function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); }
说明:
如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串。
2、去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g)
function Trim(str,is_global) { var result; result = str.replace(/(^\s+)|(\s+$)/g,""); if(is_global.toLowerCase()=="g") { result = result.replace(/\s/g,""); } return result; }
3、现在大部分浏览器中基本上都支持字符串的 trim 函数,但是为了兼容不支持的浏览器,我们最好还是在 Js 文件中加入以下代码(不需要清除换行符的请删除 \n 制表符删除 \t):
if (!String.prototype.trim) { /*--------------------------------------- * 清除字符串两端空格,包含换行符、制表符 *---------------------------------------*/ String.prototype.trim = function () { return this.triml().trimr(); } /*---------------------------------------- * 清除字符串左侧空格,包含换行符、制表符 * ---------------------------------------*/ String.prototype.triml = function () { return this.replace(/^[\s\n\t]+/g, ""); } /*---------------------------------------- * 清除字符串右侧空格,包含换行符、制表符 *----------------------------------------*/ String.prototype.trimr = function () { return this.replace(/[\s\n\t]+$/g, ""); } }
如果只需要 trim 函数的,可以只写一个:
if (!String.prototype.trim){ /*--------------------------------------- * 清除字符串两端空格,包含换行符、制表符 *---------------------------------------*/ String.prototype.trim = function () { return this.replace(/(^[\s\n\t]+|[\s\n\t]+$)/g, ""); } }
使用代码:
var str = " abcd ".trim();