PHP字符串操作

目录

1,字符串定义

1,使用单引号多引号定界符定义字符串

2,字符串操作

1,去除字符串首尾空格和特殊字符

2,转义,还原字符串数据

3,获取字符串的长度

4,截取字符串

5,比较字符串

6,检索字符串

7,替换字符串

8,格式化字符串

9,分割,合成字符串


1,字符串定义

1,使用单引号多引号定界符定义字符串

<?php
    $str="明日科技编程词典";
    echo <<<strmark
    <font color="#FF0099">$str 上市了,详情关注编程词典:www.mrbaad.com</font> 
    strmark;
?>

 注意:变量和后边的字符要有空格

2,字符串操作

1,去除字符串首尾空格和特殊字符

  • trim()去除字符串两边的空格和特殊字符

<?php
    echo '\r\r(:@_@ 创图书编辑伟业,占软件开发雄风 @_@:)';
    $str="\r\r(:@_@ 创图书编辑伟业,占软件开发雄风 @_@:)";
    //格式为trim(str,charlist),trim()去除的字符有 
    //\0 \t \n \x0B(垂直制表符) \r  ""(空格)
    echo trim($str);//去除左右两边的空格
    echo "<br>";
    echo trim($str,"\r\r(::)");//取出左右两边的特殊字符\r\r(::)
?>
  • ltrim()去除字符串左边的空格和特殊字符
  • rtrim() 去除字符串右边的空格和特殊字符

2,转义,还原字符串数据

1,手动转义,还原用转义符‘\’

2,自动转义,还原:

  • addslashes()函数进行字符串转义
  • stripslashes()函数对转义后的字符进行还原
<?php
    $str="I love 'you' ";
    echo $str."<br>";
    $a=addslashes($str);
    echo $a."<br>";
    $b=stripslashes($a);
    echo $b."<br>"
?>

 I love 'you'
I love \'you\'
I love 'you'

  • addcslashes(str,charlist)函数-->charlist在指定字符前加反斜线,如果参数charlist中包含其他非字母数字且ASCll码低于32以及高于126的字符均转换为八进制表示
  • stripcslashes(str)

下面两个函数跟上面比多了c,区别在于定义了参数charlist范围

<?php
    $str="编程词典网";
    echo $str."<br>";
    $a=addcslashes($str,'编程词典网');
    echo $a."<br>";
    $b=stripcslashes($a);
    echo $b."<br>"
?>

编程词典网
\347\274\226\347\250\213\350\257\215\345\205\270\347\275\221
编程词典网 

3,获取字符串的长度

  • javascript: history.go(-1):返回上一页,原页面表单中的内容会丢失(即:后退+刷新)。history.back():返回上一页,原页面表单中的内容会保留(即:后退)。
  • strlen()获取字符串长度
<?php
    echo strlen("编程词典网:www.mrbccd.com");
?>

注:汉字占两个字符,数字,英文,小数点,下划线和空格占一个字符 

4,截取字符串

  • substr()函数截取字符串。格式为substr(str,start[,length])-->从哪里开始截取多少字
<?php
   echo substr("she is a well-read girl",0);//从第一个字符开始截取
   echo "<br>";
   echo substr("she is a well-read girl",-4,4);//从倒数第四个字截取四个字
   echo "<br>"; 
?>

 she is a well-read girl

girl

5,比较字符串

  • 按照字节进行比较:strcmp()函数区分字符大小写,strcasecmp()函数不区分大小写
  • 按照自然排序法进行比较:strnatcmp()函数区分大小写,strnatcmp()不区分大小写
<?php
   $str1="2.jpg" ;
   $str2="10.jpg";
   echo strcmp($str1,$str2);
   echo strnatcmp($str1,$str2);
   ?>

1 -1 

注:字节就是位数,自然排序就是从左到右的顺序 

  • 指定从源字符串位置开始比较:strncmp($str1,$str2,len)函数区分字母大小写
<?php
$str1 = "I like PHP";
$str2 = "i like php";
echo strncmp($str1, $str2, 2);//比较字符串的前两个字符是否相等
?>

6,检索字符串

  • php的$_FILES数组中的tmp_name到底是什么?--->是临时文件夹。不需要知道具体路径的。直接使用变量即可取到文件。
  • move_uploaded_file — 将上传的文件移动到新位置

move_uploaded_file(string $filename, string $destination): bool

本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。成功时返回 true。 

  • strstr()函数:获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的字符串。第一个参数指定从哪个字符串中进行搜索,第二个参数指定搜索的对象

$picture_name=strstr($picture_name,'.')

>>>通过strstr()函数截取上传图片的后缀

  •  substr_count()函数 用于获取指定字符在字符串出现的次数。第一个参数为指定字符串,第二个参数为指定字符
<?php
$str = "你爱我,我爱你,蜜雪冰城甜蜜蜜";
echo substr_count($str, '爱');
?>

7,替换字符串

  • str_ireplace(search(要搜索的值),replace(指定替换的值),subject(被搜索的字符串或数组))函数 
<?php
$str1 = '某某';
$str2 = '***';
$str = '某某吃掉了某某一个苹果';
echo str_ireplace($str1, $str2, $str);
?>

将输出关键字替换为红色

<?php
$str1 = '某某';
$str = '某某吃掉了某某一个苹果';
echo str_ireplace($str1, "<font color='#FF0000'>" . $str1 . "</font>", $str);
?>
  •  substr_replace(string(要操作的原始字符串),rel(替换的新字符串),start(替换字符串开始的位置)[,length(被替换字符串的长度)])函数

8,格式化字符串

  • number_format(number(要格式化的数字),decimals(要保留的小数位数),dec_point(替换小数点),thousands_sep(替换千位分隔符))函数,每个千位分隔符都用“,”隔开
<?php
$number = 1868.96;
echo number_format($number);
//一个参数的number小数部分会被扔掉
echo '<br>';
echo number_format($number, 2);
echo '<br>';
$number = 22886655.7645;
echo number_format($number, 2, '*', '*');
?>

1,869
1,868.96
22*886*655*76

9,分割,合成字符串

1,分割字符串

  • explode(delimiter(要分隔的字符),str(指定被分割的字符串))函数,返回值为数组
  • echo : 输出一个或多个字符串
  • print : 输出简单变量的值,如int,string类型变量的
  • print_r : 输出比较复杂类型的值,如数组,对象
<?php
$str="PHP编程字典@NET编程字典@ASP编程字典@JSP编程字典";
$str1=explode('@',$str);
print_r($str1);
?>
/*
echo $str1[0]; 
echo $str1[1]; 
echo $str1[2]; 
echo $str1[3]; 
*/

Array ( [0] => PHP编程字典 [1] => NET编程字典 [2] => ASP编程字典 [3] => JSP编程字典 )

/*PHP编程字典NET编程字典ASP编程字典JSP编程字典*/ 

2,合成字符串 

  • implode(glue(分隔符),pieces(合并的数组))函数将数组内容组合成一个新字符串 
<?php
$str = array('0' => 'PHP编程字典 ', '1' => ' NET编程字典 ', '2' => 'ASP编程字典 ', '3' => ' JSP编程字典 ');
$str1 = implode('@', $str);
echo $str1;
?>

PHP编程字典 @ NET编程字典 @ASP编程字典 @ JSP编程字典 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值