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

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

$text = "sunny day";  
$count = strlen($text);   // $count = 9

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..."

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

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

4. 解析CSV文件

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

原文地址:http://www.php100.com/html/dujia/2015/0122/8448.html

处理PHP中字符串的常用操作及函数的更多相关文章

  1. 超详细!盘点Python中字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  2. python中字符串(str)常用操作总结

    # 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系.) 1.字符串的基本操作之切片 s = 'python hello word' # 取首不取尾,取尾要+1 # 切片取出来的字符串与 ...

  3. Python字符串的常用操作学习

    >>> name = "I love my job!" >>> name.capitalize() #首字母大写 'I love my job! ...

  4. [PY3]——内置数据结构(3)——字符串及其常用操作

    字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单 ...

  5. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  6. 字符串的常用操作和方法(Python入门教程)

    字符串的常用操作 很好理解 字符串可以用 ' + ' 连接,或者乘一个常数重复输出字符串 字符串的索引操作 通过一对中括号可以找到字符串中的某个字符 可以通过正负数双向操作噢 用一个中括号来实现 为什 ...

  7. JavaScript之字符串的常用操作函数

    字符串的操作在js中非常繁琐,但也非常重要.在使用过程中,也会经常忘记,今天就对这个进行一下整理. String 对象 String 对象用于处理文本(字符串). new String(s); // ...

  8. day1_python之字符串的常用操作

    python字符串操作常用操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去除空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符, ...

  9. shell脚本中字符串的常见操作及"command not found"报错处理(附源码)

    简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义S ...

随机推荐

  1. Hdu1093

    #include <stdio.h> int main() { int T,n; ; while(scanf("%d",&T)!=EOF){ while(sca ...

  2. Codeforces Round #281 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/493 A题 写完后就交了,然后WA了,又读了一遍题,没找出错误后就开始搞B题了,后来回头重做的时候才发现,球员被红牌罚下场后还可 ...

  3. PHP-FPM小故障解决记录

    前天昨天发生的事. 阿里云升级MYSQL,申请只读库之后,IP发生了改变,PHP中关于数据库的连接都需要修改. 我们是以实例名作为统一连接字符的. 但在其中一台后端机器上,死活不生效. 就是如何是用I ...

  4. 2013第50周二eclipse工具尝试

    今天更深入的认识了eclipse开发工具,出现了各种问题在网络的帮助下最终都解决了,感觉似乎明白了很多道理需要总结一下,现在发现晚了,那就先记录下我印象深的几个问题吧: 1.eclipse编辑器设置. ...

  5. cf448D Multiplication Table

    D. Multiplication Table time limit per test 1 second memory limit per test 256 megabytes input stand ...

  6. 漏洞:WebRTC 泄漏用户IP

    WebRTC又称为“网页即时通信”,是一组API函数,它经过W3C组织的认证,支持浏览器之间的语音通话.视频聊天和P2P模式分享文件.      这个协议主要包括:getUserMedia,RTCPe ...

  7. paip.输入法编程---智能动态上屏码儿长调整--.txt

    paip.输入法编程---智能动态上屏码儿长调整--.txt 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csd ...

  8. Direct3D 光照和材质

      今天我们来学习下Direct3D里面的光源和材质. 四大光照类型: 环境光 Ambient Light 一个物体没有被光照直接照射,通过每一些物体反射的光线到达这个物体,它也有可能被看到.这种称为 ...

  9. Android开源库集锦

    一.兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才开始支持的,ActionBarSherlock是让Action Bar功能支持2.X后的所有平台, ...

  10. 深入理解Scala的隐式转换系统

    摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码.   使用方式: 1. ...