首页 后端开发 php教程 PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)

PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)

Dec 22, 2016 pm 02:02 PM

本文实例总结了PHP字符串处理技巧。分享给大家供大家参考,具体如下:

Demo1.php

<?php
  //源代码是文本形式,页面显示是 web 形式
  $str = &#39;      PHP      &#39;;
  //清理一下两边的空格 ltrim 只清理左,rtrim只清理右边
  echo ltrim($str);
  echo &#39;<br/>&#39;;
  echo rtrim($str);
  echo &#39;<br/>&#39;;
  //两边都清理
  echo trim($str);
  //echo chop($str);
?>
登录后复制

Demo2.php

<?php
  $str = "This is 一站式建网站 \n This is a OneStopWeb";
  //但是,我现在想要在网页中实现换行
  //在回帖的时候,一个回车就是 \n
  //我们通过函数来实现转换过程
  echo nl2br($str);
?>
登录后复制

Demo3.php

<?php
  //将所有字符转换成 HTML
  $str = &#39;<strong>阅谁问君诵,水落清香浮。</strong>&#39;;
  //echo htmlentities($str);
  //我们只要转换特殊字符即可
  //echo htmlspecialchars($str);//<strong>阅谁问君诵,水落清香浮。</strong>
  echo strip_tags($str); //阅谁问君诵,水落清香浮。
?>
登录后复制

Demo4.php

<?php
  $str = &#39;This is "一站式建网站" \n This is a OneStopWeb&#39;;
  //对于即将插入数据库的字符串,把有问题的字符处理一下
  //echo addslashes($str); //This is \"一站式建网站\" \\n This is a OneStopWeb
  $a = addslashes($str);
  //这个 $a 就是写入数据库的,我拿出来的话,就会有 \ 这个符号
  echo stripcslashes($a);
  //首先将写进数据库的字符串通过 addslashes() 函数过滤一下,然后拿出来的时候
  //再通过 stripcslashes() 解析一下显示
?>
登录后复制

Demo5.php

<?php
  //将字符串转换成大写
  echo strtoupper(&#39;oneStopWeb&#39;);//ONESTOPWEB
  //将字符串转换成小写
  echo strtolower(&#39;oneStopWeb&#39;);//onestopweb
  //将第一个字母转换成大写
  echo ucfirst(&#39;oneStopWeb&#39;); //OneStopWeb
?>
登录后复制

Demo6.php

<?php
  $str = &#39;oneStopWeb&#39;;
  //echo str_pad($str,11).&#39;is good!&#39;; //oneStopWeb is good!
  //oneStopWeb###
  //echo str_pad($str,13,&#39;#&#39;)
  echo str_pad($str,18,&#39;#&#39;,STR_PAD_BOTH);
  echo &#39;<br/>&#39;;
  echo str_pad($str,18,&#39;#&#39;,STR_PAD_LEFT);
  echo &#39;<br/>&#39;;
  echo str_pad($str,18,&#39;#&#39;,STR_PAD_RIGHT);
/**
 * ####oneStopWeb####
 * ########oneStopWeb
 * oneStopWeb########
 * */
?>
登录后复制

Demo7.php

<?php
  //explode -- 使用一个字符串分割另一个字符串
  //返回的是一个数组
  //explode 第一参数是分割字符串,第二个参数是要被分割的字符串
  $email = explode(&#39;@&#39;,&#39;oneStopWeb@163.com&#39;);
  //print_r($email); //Array ( [0] => oneStopWeb [1] => 163.com )
  //分割完了之后,我经过一轮筛选,还要重新组合
// $arr = array(&#39;oneStop&#39;,&#39;@&#39;,&#39;163.com&#39;);
// $str = implode(&#39;&&#39;,$arr);
// echo $str;//oneStop&@&163.com
  $str = implode(&#39; - &#39;,$email);
  echo $str; //oneStopWeb - 163.com
?>
登录后复制

Demo8.php

<?php
// $str = &#39;I will be back&#39;;
// $arr = explode(&#39; &#39;,$str);
// print_r($arr); //Array ( [0] => I [1] => will [2] => be [3] => back )
  $str = &#39;I,will.be#back&#39;;
  $tok = strtok($str,&#39;,.#&#39;);
  //echo $tok;
  while($tok){
    echo $tok.&#39;<br/>&#39;;
    $tok = strtok(&#39;,.#&#39;);
  }
// $str = &#39;I will be back&#39;;
// $tok = strtok($str,&#39; &#39;);
// //echo $tok;
// while($tok){
//   echo $tok.&#39;<br/>&#39;;
//   $tok = strtok(&#39; &#39;);
// }
// $tok = strtok(&#39; &#39;);
// echo $tok;//Iwill
// //指针没有下移,而是重新来了一次
// $tok = strtok($str,&#39; &#39;);
// echo $tok;
?>
登录后复制

Demo9.php

<?php
  $str = &#39;oneStopWeb@163.com&#39;;
  //中间的参数表示开始的位置,位置是从 0 开始的,最后一个参数,是取出的个数
  echo substr($str,0,5)  ;//oneSt
?>
登录后复制

Demo10.php

<?php
  //$str = &#39;oneStopWeb@163.com&#39;;
  $str = &#39;阅谁问君诵,水落清香浮。&#39;; //中文乱码
  print_r(str_split($str));
?>
登录后复制

Demo11.php

<?php
  $str = &#39;oneStopWeb@163.com&#39;;
  echo strrev($str); //moc.361@beWpotSeno
?>
登录后复制

Demo12.php

<?php
  //通过 == 来比较字符串是否一致
  //最后的返回值是布尔值
  //echo &#39;a&#39; == &#39;a&#39;;
  //比较两个字符串
  //echo strcmp(&#39;a&#39;,&#39;b&#39;);
// if(strcmp(&#39;a&#39;,&#39;a&#39;) == 0){
//   echo &#39;相等&#39;;
// }
  //echo strcasecmp(&#39;B&#39;,&#39;b&#39;); //不区别大小写
  //目前是非自然排序
  //echo strcmp(&#39;2&#39;,&#39;10&#39;);//1
  //如果按照自然排序方式比较呢?
  echo strnatcmp(&#39;2&#39;,&#39;10&#39;);//-1
?>
登录后复制

Demo13.php

<?php
  //strspn
  //后面两个数字的参数,是从第几位开始,取多少位
  echo strspn(&#39;one&#39;,&#39;oneStopWeb@163.com&#39;,1,5);
?>
登录后复制

Demo14.php

<?php
  //测试字符串的长度
  echo strlen(&#39;oneStopWeb@163.com&#39;) ;
?>
登录后复制

Demo15.php

<?php
  //测试字符串出现的频率
  echo substr_count(&#39;oneStopWeb@163.com&#39;,&#39;o&#39;);
?>
登录后复制

Demo16.php

<?php
  //从指定的字符串开始输出之后的字符串
  echo strstr(&#39;oneStopWeb@163.com&#39;,&#39;@&#39;);
  //不区别大小写的
  echo stristr(&#39;oneStopWeb@163.com&#39;,&#39;s&#39;);
?>
登录后复制

Demo17.php

<?php
  //查找某字符串最先出现的位置
  //位置是从第 0 个位置开始计算,W第一次出现在第 7 个位置上
  echo strpos(&#39;oneStopWeb@163.com&#39;,&#39;W&#39;);
  //最后出现的位置
  echo strrpos(&#39;oneStopWeb@163.com&#39;,&#39;o&#39;);
?>
登录后复制

Demo18.php

<?php
  //字符串替换
  //第一个参数表示要查找的字符串(部分)
  //第二个参数表示要替换成的字符串(部分)
  //第三个参数表示原来的被替换的完整字符串
  //echo str_replace(&#39;one&#39;,&#39;yi&#39;,&#39;oneStopWeb@163.com&#39;);//yiStopWeb@163.com
  //str_ireplace 是不区分大小写
  //echo str_ireplace(&#39;oNe&#39;,&#39;yi&#39;,&#39;oneStopWeb@163.com&#39;);//yiStopWeb@163.com
  //从第一个位置开始(参数3),取出 5 个来(参数4),将它替换成 ###(参数2)
  echo substr_replace(&#39;oneStopWeb@163.com&#39;,&#39;###&#39;,0,5);
?>
登录后复制

Demo19.php

<?php
  //取中文长度
  $str = &#39;阅谁问君诵,水落清香浮。&#39;;
  //用普通的 strlen 取一个中文字,就算两个
  //echo strlen($str) ;
  //使用 mb_strlen 来取中文,有第二个参数,字符编码
  echo mb_strlen($str,&#39;GBK&#39;);//12
  //如果你使用普通的 strlen 这个函数,我取 1 个字符
  //采用 mb_substr 来取中文字符
  echo mb_substr($str,2,1,&#39;GBK&#39;);//问
?>
登录后复制

Demo20.php

<?php
  $str = &#39;阅谁问君诵,水落清香浮。&#39;;
  //求出 o 最先出现的位置
  //中文的算法,两个字符一个中文字
  //mb 就算一个
  //echo strpos($str,&#39;问&#39;);//4
  //按中文一个字符来计算,这样不会出现半个中文的状态
  echo mb_strpos($str,&#39;问&#39;,0,&#39;GBK&#39;);
?>
登录后复制

Demo21.php

<?php
// $str = &#39;阅谁问君诵,水落清香浮。&#39;  ;
// echo mb_substr($str,0,1,&#39;GBK&#39;);
  $str =&#39;阅谁问君诵,水落清香浮。&#39;;
  //这个就无所谓用 mb_strstr
  echo strstr($str,&#39;水&#39;);
?>
登录后复制

Demo22.php

<?php
  $str =&#39;阅谁问君诵,水落清香浮。&#39;;
  echo mb_substr_count($str,&#39;问&#39;,&#39;GBK&#39;);
?>
登录后复制

   

希望本文所述对大家PHP程序设计有所帮助。

更多PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)相关文章请关注PHP中文网!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

会话如何劫持工作,如何在PHP中减轻它? 会话如何劫持工作,如何在PHP中减轻它? Apr 06, 2025 am 12:02 AM

会话劫持可以通过以下步骤实现:1.获取会话ID,2.使用会话ID,3.保持会话活跃。在PHP中防范会话劫持的方法包括:1.使用session_regenerate_id()函数重新生成会话ID,2.通过数据库存储会话数据,3.确保所有会话数据通过HTTPS传输。

在PHP API中说明JSON Web令牌(JWT)及其用例。 在PHP API中说明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

描述扎实的原则及其如何应用于PHP的开发。 描述扎实的原则及其如何应用于PHP的开发。 Apr 03, 2025 am 12:04 AM

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

在PHPStorm中如何进行CLI模式的调试? 在PHPStorm中如何进行CLI模式的调试? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...

如何在系统重启后自动设置unixsocket的权限? 如何在系统重启后自动设置unixsocket的权限? Mar 31, 2025 pm 11:54 PM

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

解释PHP中的晚期静态绑定(静态::)。 解释PHP中的晚期静态绑定(静态::)。 Apr 03, 2025 am 12:04 AM

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

如何用PHP的cURL库发送包含JSON数据的POST请求? 如何用PHP的cURL库发送包含JSON数据的POST请求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

See all articles