处理PHP中字符串的常用操作及函数

1.确定一个字符串的长度

 

  这是最为常见和基础的例子,对于确定一个字符串的长度,我们应该使用strlen()函数,比如要获取下面字符串$text的长度:

 

  $text=“sunnyday“;

 

  $count=strlen($text);//$count=9

 

  2.截取文本来创建一个概要

 

  新闻性质的网站通常会在发布正文中的开头部分截取大约200字左右,并在末尾加上省略号来形成一个摘要。你可以使用substr_replace()函数来实现此功能,这里由于篇幅的原因,展示一个截取40个字符的例子:

 

  $article=“BREAKINGNEWS:Inultimateirony,manbitesdog.“;

 

  $summary=substr_replace($article,“...“,40);

 

  //$summary=“BREAKINGNEWS:Inultimateirony,manbi...“

 

  3.计算一个字符串中的单词数

 

  你经常可以看到一些博客或者新闻类文章会统计文章中的总单词数,或者是要求用户投稿的文章是在一定的字数范围内。对此,你可以使用str_word_count()函数来统计单词数,比如:

 

  $article=“BREAKINGNEWS:Inultimateirony,manbitesdog.“;

 

  $wordCount=str_word_count($article);

 

  //$wordCount=8

 

  4.解析CSV文件

 

  数据通常是以逗号分隔的形式存储在文件中的(CSV格式),CSV文件使用一个逗号或者类似于预定义符号,将每列字符串组成一个单独的行。你可能经常创建PHP脚本来导入这些数据,或者解析出你所需要的东西,有很多解析CSV文件的方法,最常见的就是使用fgets()和explode()函数的组合来读取和解析文件。但是最为简单的方法是使用fgetcsv()函数,比如,现在有一个CSV文件:

 

  1,John,Smith,Plumber2,Mark,Seagal,Instructor3,Peter,Haines,Writer

 

  此时使用fopen()和fgetcsv()函数,我们能够很容易的解析这个文件,检索出每个联系人的名字:

 

  $fh=fopen(“contacts.csv“,“r“);

 

  while($line=fgetcsv($fh,1000,“,“))

 

  {

 

  echo“Contact:{$line[1]}“;

 

  }

 

  5.将数组转换为字符串

 

  有些时候,你在创建CSV文件之后还要从这些文件中进行读取,这就意味着你需要将数据转换为用逗号分隔的字符串。如果这些数据最初是从数据库检索出来的,那么它很可能会提供的是一个数组。这时,你可以使用implode()函数,把数组元素组合为一个字符串。如下所示:

 

  $csv=implode(“,“,$record);

 

  6.将URL转换成超链接

 

  目前许多WYSIWYG(所见即所得)编辑器工具都允许用户标记文本,包括超链接。当然,你也可以在内容呈现到页面上时,自动执行此过程。要转换成超链接,你可以使用preg_replace()函数,它可以按照正则表达式来搜索一个字符串,并定义了URL的结构:

 

  $url=“W.J.Gilmore,LLC(http://www.wjgilmore.com)“;

 

  $url=preg_replace(“/http://([A-z0-9./-]+)/“,“$0“,$url);

 

  //$url=“W.J.Gilmore,LLC(http://www.wjgilmore.com)“

 

  7.从一个字符串中去除HTML标签

 

  我们通常需要确保用户的输入中不含有危险字符,因为它们会导致SQL注入或跨站点的脚本攻击。PHP已经有了很多安全方面的考虑和功能,这些功能能够帮助你过滤数据。你的网站可能允许用户在他们的评论中带有一些基本的HTML元素,比如一些标签。此时,你就需要使用带有检查功能的函数:strip_tags(),可以从字符串中去除所有的HTML标签。例如:

 

  $text=strip_tags($input,““);

 

  8.比较两个字符串

 

  比较两个字符串,检查它们是否完全相同。比如,判断用户第一次设置密码与第二次确认密码时输入的是否完全相同。这时,你可以使用strcmp()函数来实现:

 

  $pswd=“secret“;

 

  $pswd2=“secret“;

 

  if(!strcmp($pswd,$pswd2))

 

  {

 

  echo“Thepasswordsarenotidentical!“;

 

  }

 

  9.将换行符转换为换行标签

 

  使用nl2br()函数,的能够帮助你将任何换行符转换成HTML标签,比如:

 

  $comment=nl2br($comment);

 

  10.使用自动换行

 

  应用自动换行,可以使用PHP中的这个函数:wordwrap(),按照指定长度对字符串进行折行处理。比如:

 

  $speech=“Fourscoreandsevenyearsagoou***thersbroughtforth,

 

  uponthiscontinent,anewnation,conceivedinLiberty,

 

  anddedicatedtothepropositionthatallmenarecreatedequal.“;

 

  echowordwrap($speech,30);//参数width:30为规定的最大行宽度

猜你喜欢

转载自www.cnblogs.com/waczq/p/9341162.html