PHP系列(五)PHP字符串处理-创新互联

php字符串处理

创新互联建站是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站设计成都品牌网站建设全网营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站制作、网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

1、字符串的处理方式(分割匹配找查替换)

//声明一个关联数组,数组名为$lamp, 成员有4个

$lamp = array( 'os'=>'Linux','webserver' =>'Apache', 'db'=>'MySQL', 'language'=>'php' );

//可以解析,双引号中对于数组索引,右方括号(])标志着索引的结束,

//但是注意:不要在[]中使用引号,否则会在引号处结束

echo "A OS is $lamp[os].";

//不能解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错

echo "A OS is $lamp['os'].";

//可以解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错

echo "A OS is {$lamp['os']}.";

echo "A OS is {$lamp[os]}."; //可以解析,注意PHP将数组下标看作常量名,并且常不存在时将常量名称转为了字中,效率低

echo "This square is $square->widthmeters broad."; //可以解析,对象中的成员也可以解析

echo "This square is$square->width00 centimeters broad."; //不能解析,可以使用花括号解决

echo "This square is{$square->width}00 centimeters broad."; //可以解析, 使用花括号解决

2、常用的字符串输出函数

Echo()输出字符串 //echo 指令方式可以打印多个值

Print()输出一个字符串  //有返回值、

区别:

Print有返回值 、echo没有

Print不能打印多个值、但echo指令方式可以打印多个值

Echo “aa”,”bb”,”cc”;

Die()  exit()输出一条消息、并退出当前脚本

Printf()输出格式化字符串

Sprint()把格式化的字符串写入一个变量中

Sprint(“%s”, $int);

%% 返回百分比符号

%b  二进制数

%c  依照ASCII值的字符

%d  带符号的十进制数

%e   可续计数法(1.5e3)

%u  无符号十进制数

%f或%F  浮点数

%o   八进制数

%s  字符串

%x或%X   十六进制数

3、字符串处理函数

去除空格和字符串填充函数

Ltrim(string  str[,string charlist])

返回值:字符串

本函数用来删去字符串中的前导空格

Rtrim(string str[,stringcharlist])

返回值:字符串

本函数用来删除字符串的后缀空格

Trim(string  str[,string charlist])

返回值:字符串

截去字符串首尾的空格、本函数返回字符串string 首尾的空白字符去除后的字符串

//声明一个字符串、其中左侧有三个空格、右侧有二个空格、总长度9个字符

$str = “  lamp  ”;

Echo strlen($str);  //输出字符串的总长度为9

Echo strlen(ltrim($str)) //去掉左侧空格后的长度输出为6

Echo strlen(rtrim($str))//去掉右侧空格后的长度输出为7

Echo strlen(trim($str))//去掉二侧空格后的长度输同为4;

$str = “123 This is a test…”;

Echo ltrim($str, “0…9”);//过虑掉字符串左侧的数字、输出为This is a test…

Echo rtrim($str, “.”); //过虑掉字符串右侧所有“.”;输出为:123 Thisis a test

Echo trim($str, “0..9 A..Z”); //过虑掉字符串二端的数字和大写字母还有“.”

输出为:his is a test

Str_pad()按需要对字符串进行填充

语法:

String str_pad(string input, int pad_length,STR_PAD_LEFT)

STR_PAD_LEFT  字符串左添加

STR_PAD_RIGHT 字符串右添加
STR_PAD_BOTH 字符串二端添加

$str =”LAMP”;

Echo str_pad($str, 10);  //指定长度为10、默认空格在右边填补“LAMP”;

Echo str_pad($str, 10,”---”,STR_PAD_LEFT)//指定长度为10、 指定在左边填补“---lamp”;

Echo str_pad($str, 10, “--”,STR_PAD_BOTH)//指定长度为10、指定二端填补“---lamp---”

Echo str_pad($str,6,”--”,STR_PAD_RIGHT);//指定长度为6、默认在右边填补“lamp--”;

字符串大小写的转换

Strtolower(string)//将string全部变成小写字符

Strtoupper(string)//将string全部就成大写字符

Ucfirst(string)//将字符串第一个字符改大写

Ucwords(string)//将字符串每个字符第一个字母改大写

4、和html标签相关联的字符串格式化

Htmlspecialchars()把预定义的字符"<"(小于)和 ">"(大于)转换为 HTML实体

Stripslashes()函数删除由addslashes()函数添加的反斜杠

Addslashes()在每个双引号(")前添加反斜杠

Title:

If(isset($_POST[‘dosubmit’])){

$title= $_POST[‘title’];

Echo stripslashes(addslashes($title)).”
”;

Echo htmlspecialchars($title);

}

?>

Strip_tags()函数剥去字符串中的 HTML、XML以及 PHP的标签

strcmp(string1,string2)比较两个字符串(区分大小写)

本函数返回:

0  如果两个字符串相等

-1  如果 string1 小于 string2

1   如果 string1 大于 string2

Strcasecmp(string1,string2)比较两个字符串、不区分大小写(用法同上)

按自然顺序排序(用法同上)

Strnatcmp(string1,string2)区分大小写

Strnatcasecmp(string1,string2)不区分大小写

一、不用php函数、用方法写一个反转字符串的函数

$str = "www.bitedy.com";

function fan($str){

$n= "";

$m= strlen($str)-1;

for($i=$m;$i>0; $i--){

$n.=$str{$i};

}

return $n;

}

echo fan($str);

//echostrrev($str); 返转字符串、显示为:moc.ydetib.www

二、写一函数将字符串进行三个分组

$str = "1234567890";

function nformat($str){

$n= ""; //临时的变量

$m= strlen($str);//获取字符串长度

$k= $m % 3;//让整个长度和3取余之后余数是多少=0

for($i=0;$i<$m; $i++){

if($i%3== $k && $i!=0){

$n.=",";

}

$n.=$str{$i};

}

return $n;

}

echo nformat($str);

显示为:1,234,567,890

三、请写一个获取文件扩展名的函数

function Demo($str){

if(strstr($str, "?")){

list($file,$act) = explode("?",$str);

}else{

$file= $str;

}

$n = strrpos($file,"/")+1;

$filename = substr($file,$n);

$arr = explode(".",$filename);

echo array_pop($arr)."
";

}

Demo("http://www.bitedy.com/www/nat/init.inc.php?username=100");

Demo("http://www.bitedy.com/www/nat/init.inc.php");

Demo("C:/www/nat/init.inc.php");

Demo("init.inc.php");

Demo("/www/nat/init.inc.php");

显示为:php php php php php

strstr(string,search,before_search)搜索字符串在另一字符串中的第一次出现(区分大小写 stristr不区分大小写)

string 必需。规定被搜索的字符串。

Search必需。规定所搜索的字符串。

Before_search可选。默认值为 "false"的布尔值。

如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。

explode(separator, string,limit)把字符串打散为数组

separator必需。规定在哪里分割字符串。

String必需。要分割的字符串。

大于 0 -返回包含最多 limit 个元素的数组

小于 0 -返回包含除了最后的 -limit 个元素以外的所有元素的数组    0 -返回包含一个元素的数组

strrpos(string,find,start)查找字符串在另一字符串中最后一次出现的位置。

String 必需。规定被搜索的字符串。

Find 必需。规定要查找的字符。

Start 可选。规定在何处开始搜索。

substr(string,start,length)返回字符串的一部分

string 必需。规定要返回其中一部分的字符串。

Start 必需。规定在字符串的何处开始。

正数 -在字符串的指定位置开始

负数 -在从字符串结尾开始的指定位置开始

0 -在字符串中的第一个字符处开始

Length  可选。规定被返回字符串的长度。默认是直到字符串的结尾。

正数 -从 start 参数所在的位置返回的长度

负数 -从字符串末端返回的长度

array_pop(array)弹出并返回 array 数组的最后一个单元

四、写一个函数、算出二个文件的相对路径

error_reporting(E_ALL & !E_NOTICE);

function ab($a, $b){

$a= explode("/", trim(dirname($a), "/"));

$b= explode("/", trim(dirname($b), "/"));

$n= max(count($a),count($b));

for($i=0;$i<$n; $i++){

if($a[$i]==$b[$i]){

unset($a[$i]);

unset($b{$i});

}else{

break;

}

}

$path = str_repeat("../",count($b)).implode("/", $a);

return $path;

}

$a = "/a/b/y/12/14.php";

$b = "/a/b/c/d/11/y/24.php";

echo ab($a, $b);

显示为:../../../../y/12

微信扫一扫 、关注公众号

不定时分享资料视频

PHP系列(五)PHP字符串处理

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:PHP系列(五)PHP字符串处理-创新互联
URL链接:http://myzitong.com/article/dpdjgs.html