- 浏览: 72609 次
- 性别:
- 来自: 广州
最新评论
经过了《PHP开发笔记系列(一)-PDO使用》,今天开了关于PHP开发中字符串的处理,《PHP开发笔记系列(二)-字符串使用》,形成《PHP开发笔记系列》的第二篇。
字符串是任何开发语言都必须处理的,在PHP中字符串可以使用单引号(')或双引号(")进行定义。那单引号和双引号不同之处在哪?那就是双引号中的变量会被变量值替换,而单引号中的内容将原样输出。下面将日常程序开发中会碰到的字符串处理场景整理。
1. 以数组形式访问字符串(strlen)
file:str-lengh.php url:http://localhost:88/str/str-lengh.php <?php $word = 'Hello, Ryan!'; echo "String($word)'s length: ".strlen($word)."<br/>"; // for循环访问数组 //for($i=0; $i<strlen($word); $i++){ // echo $word[$i],"<br/>"; //} // while循环访问数组 $i=0; while($i<strlen($word)){ echo $word[$i],"<br/>"; $i++ } ?>
2. 去除文本中的所有HTML标记(strip_tags)
file:str-strip-tags.php url:http://localhost:88/str/str-strip-tags.php <?php // 字符串中的所有html标签都闭合 $text = "<h1>hello world!</h1><h1>hello world!</h1><h1>hello world!</h1>"; // 输出原始的字符串内容 echo "Original Text:"; echo $text."<br/>"; // 去除所有html标签后进行输出 echo "Destination Text(After strip_tags)"."<br/>"; echo strip_tags($text)."<br/>"; // 字符串中的html标签不闭合 $text = "<h1>hello world!"; // 去除所有html标签后进行输出 echo "Original Text:"; echo $text."<br/>"; // 去除所有html标签后进行输出 echo "Destination Text(After strip_tags)"."<br/>"; echo strip_tags($text)."<br/>"; ?>
备注:如果$text的值是<h1>hello world!,少了</h1>,那么<h1>将不会被strip_tags函数去除,从而影响后面的格式输出,使后续的所有输出都有h1标题的样式。
3. 转义html实体(rawurlencode)
file:str-entities.php url:http://localhost:88/str/str-entities.php <?php $text = "hello & world!"; echo $text."<br/>"; echo rawurlencode($text)."<br/>"; ?>
4. 强制文本折行显示(wordwrap)
wordwrap函数可以按照指定的字符串折行长度,将长文本进行折行。
file:str-wordwrap.php url:http://localhost:88/str/str-wordwrap.php <?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below."; echo "Original text:"."<br/>"; echo $text."<br/>"; echo $text."<hr/>"; echo "Destination text(after wrap):"."<br/>"; echo wordwrap($text, 50, "<br/>")."<br/>"; ?>
5. 字符串定位与替换(strpos、str_replace)
字符串定位使用strpos函数,该函数返回一个字符串在另一个字符串出现的第一个位置,类似于JAVA中String类的indexOf()方法的作用:
file:str-strpos.php url:http://localhost:88/str/str-strpos.php <?php $text = "hello world!"; echo strpos($text, "e"); ?>
字符串替换使用str_replace函数,该函数替换部分字符串中的文本,类似于JAVA中String类的replace()方法的作用:
file:str-strreplace.php url:http://localhost:88/str/str-strreplace.php <?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below."; echo "Original text:"."<br/>"; echo $text."<br/>"; echo "<hr/>"; echo "Destination text(replace):"."<br/>"; echo str_replace(" ", "__", $text)."<br/>"; ?>
6. 字符串比较(substr_compare)
字符串比较可用于比较两个字符串间的大小,类似于JAVA中String的compare方法,如果返回值>0,代表第一个字符串比第二个大,反之第二个比第一个大,若为0,表示相等。
file:str-compare.php url:http://localhost:88/file/str-compare.php <?php $main_str = 'hello world'; $str = 'hello world, Ryan!'; echo substr_compare($main_str, $str, 0); ?>
7. 字符串截取(substr)
字符串截取可用于从字符串的指定位置截取指定长度的字串,用于子串值抽取很方便。
file:str-sub.php url:http://localhost:88/file/str-sub.php <?php $str = 'hello world,today is sunday!'; $start = strpos($str, ','); $newStr = substr($str, $start+1); echo 'Original String: '.$str.'<br/>'; echo 'Destination String: '.$newStr.'<br/>'; ?>
8. 统计子串出现次数(substr_count)
统计子串在父串中出现的次数,可以使用substr_count函数。
file:str-count.php url:http://localhost:88/file/str-count.php <?php $str = 'abcdefgacef'; echo substr_count($str, 'a'); ?>
9. 字符串分拆与拼装(explode、implode)
字符串分拆可将一个字符串按照一个指定分隔符拆分成数组,类似于JAVA中String类的spilt()方法的作用。字符串组装时将字符串数组按照一个分隔符将数组中的数据进行拼装,形成一个新字符串。
file:str-explode-implode.php url:http://localhost:88/str/str-explode-implode.php <?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below."; echo "Original text:"."<br/>"; echo $text."<br/>"; echo "<hr/>"; $sentenses = explode(". ", $text); echo "Destination text(explode):"."<br/>"; foreach ($sentenses as $sentense){ echo $sentense."<br/>"; } echo "<hr/>"; $newText= implode($sentenses, ". "); echo "Destination text(implode):"."<br/>"; echo $newText."<br/>"; ?>
10. 去除字符串的前后空格(trim)
file:str-trim.php url:http://localhost:88/str/str-trim.php <?php $text = " hello world! "; echo "Original text:"."<br/>"; echo strlen($text)."<br/>"; echo "<hr/>"; echo "Destination text(trim):"."<br/>"; echo strlen(trim($text))."<br/>"; ?>
11. 格式化输出(printf)
格式化输出使用printf函数或sprintf函数,类似于C语言中的printf函数的作用:
file:str-printf.php url:http://localhost:88/str/str-printf.php <?php $format = 'hello, %2$s, userNo: %1$s'; $who = 'Ryan'; $no = '10'; echo printf($format, $no, $who); ?>
本文地址:http://ryan-d.iteye.com/blog/1543225
- str.zip (4.1 KB)
- 下载次数: 4
发表评论
-
php curl in windows configuration
2012-09-11 11:32 0Just an additional note for Win ... -
PHP开发笔记系列(九)- 数组(四)
2012-06-24 23:13 1552经过《PHP开发笔记系列(九)- 数组(一)》 、《 ... -
PHP开发笔记系列(九)- 数组(三)
2012-06-24 16:10 1819写了两篇关于Php数组的日常使用,本篇《PHP开发笔记 ... -
PHP开发笔记系列(九)- 数组(二)
2012-06-23 23:22 1910昨晚临睡前写完了《PHP开发笔记系列(九)- 数组( ... -
PHP开发笔记系列(九)- 数组(一)
2012-06-22 22:34 1561最近在做项目的时候,经常需要用到关联数组的处理,发现P ... -
php 正则表达式
2012-06-15 12:10 0php 正则表达式 -
PHP XML处理
2012-06-15 11:47 0PHP XML处理 -
PHP开发笔记系列(十)- 电子邮件
2012-06-01 17:05 0Mail在应用程序中经常会使用到,例如注册成功后的账号 ... -
PHP开发笔记系列(八)- 上传与下载
2012-06-18 09:26 1944最近由于项目需要,在GZBGY进行了闭关,与同行的De ... -
PHP开发笔记系列(XAMPP+PhpEclipse+XDebug)
2012-05-29 21:51 1944第一篇:《PHP开发 ... -
PHP开发笔记系列(七)- 压缩与解压缩
2012-06-06 20:27 3526压缩与解压缩,在一般的web应用程序中可能用得不 ... -
PHP开发笔记系列(六)- 内置FTP函数
2012-06-04 08:57 1656FTP是我们经常用到的一种服务器,能够用来接收第三方系 ... -
PHP开发笔记系列(五)- INI文件解释
2012-06-01 15:52 1949在JAVA开发中,我 ... -
PHP开发笔记系列(四)-文件操作
2012-05-30 20:32 2230对于一般的web应用程序,数据会保存在数据库表中,但是 ... -
PHP开发笔记系列(三)-日期与时间
2012-05-29 19:53 3870前两篇完成了 《P ... -
PHP开发笔记系列(一)-PDO使用
2012-05-28 21:16 10680之前一段时间,开始了php的研究,看了关于PDO的一 ...
相关推荐
在PHP中,字符串处理和正则表达式是两大重要的主题,它们在Web开发中扮演着不可或缺的角色。字符串处理包括对字符串的各种操作,如转义、编码转换、替换等。正则表达式则是一种强大的文本匹配工具,它允许我们在字符...
在“PHP开发笔记系列(九)- 数组(四)”中,博主深入探讨了PHP中的数组特性和用法,尤其聚焦于高级使用技巧和源码层面的理解。这篇文章可能是对之前关于数组的系列文章的延续,旨在帮助开发者更熟练地运用PHP处理...
- 创建字符串可以使用单引号或双引号,例如: ```php $str = "Hello, world!"; $str2 = 'Hello, again!'; ``` 2. **Integer(整型)** - 整数是一个没有小数部分的数字。 - 规则: - 至少有一个数字(0-9)...
这篇PHP开发笔记系列的第三部分将深入探讨如何在PHP中操作和管理日期与时间。通过学习这些知识点,开发者可以更有效地处理各种时间相关的业务逻辑。 首先,PHP提供了内置的`DateTime`类,它是处理日期和时间的核心...
总结,这份学习笔记涵盖了PHP的基础语法、数学和日期处理、字符串操作,以及MySQL和JavaScript/jQuery的基本知识,是一份全面的Web开发学习资料。通过深入理解和实践这些内容,开发者可以提升自己的Web开发技能。
在本篇"PHP开发笔记系列(九)- 数组(三)"中,我们将深入探讨PHP数组的高级用法,包括关联数组、多维数组以及数组函数的使用。 一、关联数组 关联数组是PHP数组的一种类型,其中的键和值之间存在关联关系,键可以...
在PHP开发过程中,文件操作是不可或缺的一部分,尤其是在构建动态网站或Web应用程序时。这篇笔记将深入探讨PHP如何处理文件,包括读取、写入、移动、删除和处理目录。我们将从基本的文件I/O操作开始,然后逐步深入到...
在PHP开发笔记中,我们可以期待以下主题的详细讲解: 1. **基础语法**:包括变量声明、数据类型、控制结构(条件语句、循环语句)、函数定义与调用、字符串和数组的操作等。 2. **面向对象编程**:类与对象的概念...
索引数组是通过数字下标访问元素的数组,而关联数组则允许使用字符串作为键来访问元素。创建一个索引数组如下: ```php $numbers = array(1, 2, 3, 4, 5); ``` 创建关联数组如下: ```php $person = array('...
2. **值的类型**:INI文件默认将所有值解析为字符串。若需指定其他类型,如整数或布尔值,需要使用特定语法。例如,`integer_value = 123` 或 `boolean_value = On`。 3. **路径值**:在INI文件中,路径值可以使用...
1. **基础语法**:包括变量、数据类型(如字符串、整型、浮点型、数组等)、运算符、流程控制(如条件语句if...else、循环结构for、while等)以及函数的使用。 2. **字符串与数组操作**:讲解如何处理字符串和数组...
在PHP开发过程中,压缩与解压缩是常见的操作,特别是在处理大量数据或文件传输时。本篇文章将深入探讨PHP中如何实现文件的压缩和解压缩,主要涉及`zip`和`gz`相关的函数库。 首先,我们来看PHP中的`zip`库。`Zip`库...
- 字符串拼接:使用`.`连接符。 ```php $message = "hello"; $name = "laoli"; echo $message . " " . $name; // 输出 "hello laoli" ``` 2. **常量与变量**: - **变量**: - 以`$`符号开头。 - 区分大...
【标题】"phpticle-in-dictionary-oJ开发笔记"涉及的是一个PHP开发项目,可能是一个用于处理文本或文章的工具,特别强调了字典排序(dictionary order)的功能。这通常意味着程序会按照字母顺序对英文文章进行排序,...
SMARTY支持各种数据类型,包括标量(字符串、整型、浮点型、布尔型)、复合类型(数组、对象)、特殊类型(NULL)。对于数组,SMARTY支持索引数组和关联数组,可以通过下标或键名访问元素。 SMARTY还允许向模板分配...
在MySQL中,主要的数据类型分为四类:整型、浮点型、字符串类型和日期与时间型。 1. 整型数据类型: - TINYINT:占用1字节,适合存储非常小的整数。带符号的取值范围是-128到127,无符号的范围是0到255。 - ...
// 将字符串由 GBK 编码转换为 UTF-8 编码 但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到 mb_string 扩展库: 复制代码 代码如下:mb_detect_encoding(‘软件开发...
- 字符串处理:包括字符串的创建、长度获取、子串提取、替换、比较等操作。 - 数组处理:定义数组,遍历数组,数组函数的应用,如`implode()`、`explode()`、`count()`、`sort()`等。 3. **函数**: - 内置函数...
- 使用`eval()`函数执行该字符串。 #### 三、网页内容抓取 - **概念**:网页内容抓取是指从网页中提取所需的数据,通常用于自动化处理或数据分析。 - **方法**: - 使用正则表达式(如`preg_match_all()`)匹配...