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

老虎说测试 脚本开发字数 2413阅读8分2秒阅读模式
摘要PHP提供了大量的字符串操作,各种函数可以处理字符串的分割、截取、查找等。PHP处理字符串的能力是非常强大的,提供的方法也是多种多样的,但有的时候你需要选择出一种最简单且最理想的方...
处理PHP中字符串的常用操作及函数

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

 

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

这是最为常见和基础的例子,对于确定一个字符串的长度,我们应该使用strlen()函数,比如要获取下面字符串$text 的长度:文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

$text = "sunny day";
$count = strlen($text);   // $count = 9文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

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

新闻性质的网站通常会在发布正文中的开头部分截取大约200字左右,并在末尾加上省略号来形成一个摘要。你可以使用substr_replace()函数来实现此功能,这里由于篇幅的原因,展示一个截取40个字符的例子:
$article = "BREAKING NEWS: In ultimate irony, man bites dog.";
$summary = substr_replace($article, "...", 40);
// $summary = "BREAKING NEWS: In ultimate irony, man bi..."文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

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

你经常可以看到一些博客或者新闻类文章会统计文章中的总单词数,或者是要求用户投稿的文章是在一定的字数范围内。对此,你可以使用str_word_count()函数来统计单词数,比如:
$article = "BREAKING NEWS: In ultimate irony, man bites dog.";
$wordCount = str_word_count($article);
// $wordCount = 8文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

4. 解析CSV文件

数据通常是以逗号分隔的形式存储在文件中的(CSV格式),CSV文件使用一个逗号或者类似于预定义符号,将每列字符串组成一个单独的行。你可能经常创建PHP脚本来导入这些数据,或者解析出你所需要的东西,有很多解析CSV文件的方法,最常见的就是使用fgets()和explode()函数的组合来读取和解析文件。但是最为简单的方法是使用fgetcsv()函数,比如,现在有一个CSV文件:
1,John,Smith,Plumber 2,Mark,Seagal,Instructor 3,Peter,Haines,Writer文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

此时使用fopen()和fgetcsv()函数,我们能够很容易的解析这个文件,检索出每个联系人的名字:
$fh = fopen("contacts.csv", "r");
while($line = fgetcsv($fh, 1000, ","))
{
echo "Contact: {$line[1]}";
}文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

5. 将数组转换为字符串

有些时候,你在创建CSV文件之后还要从这些文件中进行读取,这就意味着你需要将数据转换为用逗号分隔的字符串。如果这些数据最初是从数据库检索出来的,那么它很可能会提供的是一个数组。这时,你可以使用implode()函数,把数组元素组合为一个字符串。如下所示:
$csv = implode(",", $record);文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

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)"文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

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

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

8. 比较两个字符串

比较两个字符串,检查它们是否完全相同。比如,判断用户第一次设置密码与第二次确认密码时输入的是否完全相同。这时,你可以使用strcmp()函数来实现:
$pswd = "secret";文章源自陈学虎-https://chenxuehu.com/article/2015/01/4246.html

$pswd2 = "secret";
if (! strcmp($pswd, $pswd2))
{
echo "The passwords are not identical!";
}

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

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

 

10. 使用自动换行

应用自动换行,可以使用PHP中的这个函数:wordwrap(),按照指定长度对字符串进行折行处理。比如:
$speech = "Four score and seven years ago our fathers brought forth,
upon this continent, a new nation, conceived in Liberty,
and dedicated to the proposition that all men are created equal.";

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

历史上的今天
1 月
22
 
  • 版权声明:本文为原创文章,转载请附上原文出处链接及本声明。
  • 转载请注明:处理PHP中字符串的常用操作及函数 | https://chenxuehu.com/article/2015/01/4246.html