`

PHP开发笔记系列(二)-字符串使用

阅读更多
   
    经过了《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
分享到:
评论

相关推荐

    PHP 笔记001 - 字符串、正则表达式

    在PHP中,字符串处理和正则表达式是两大重要的主题,它们在Web开发中扮演着不可或缺的角色。字符串处理包括对字符串的各种操作,如转义、编码转换、替换等。正则表达式则是一种强大的文本匹配工具,它允许我们在字符...

    PHP开发笔记系列(九)- 数组(四)

    在“PHP开发笔记系列(九)- 数组(四)”中,博主深入探讨了PHP中的数组特性和用法,尤其聚焦于高级使用技巧和源码层面的理解。这篇文章可能是对之前关于数组的系列文章的延续,旨在帮助开发者更熟练地运用PHP处理...

    PHP语言笔记包括数据类型、类型比较、常量、字符串等

    - 创建字符串可以使用单引号或双引号,例如: ```php $str = "Hello, world!"; $str2 = 'Hello, again!'; ``` 2. **Integer(整型)** - 整数是一个没有小数部分的数字。 - 规则: - 至少有一个数字(0-9)...

    PHP开发笔记系列(三)-日期与时间

    这篇PHP开发笔记系列的第三部分将深入探讨如何在PHP中操作和管理日期与时间。通过学习这些知识点,开发者可以更有效地处理各种时间相关的业务逻辑。 首先,PHP提供了内置的`DateTime`类,它是处理日期和时间的核心...

    达内学习笔记----PHP基础+MYSQLS基础+JS笔记整理.docx

    总结,这份学习笔记涵盖了PHP的基础语法、数学和日期处理、字符串操作,以及MySQL和JavaScript/jQuery的基本知识,是一份全面的Web开发学习资料。通过深入理解和实践这些内容,开发者可以提升自己的Web开发技能。

    PHP开发笔记系列(九)- 数组(三)

    在本篇"PHP开发笔记系列(九)- 数组(三)"中,我们将深入探讨PHP数组的高级用法,包括关联数组、多维数组以及数组函数的使用。 一、关联数组 关联数组是PHP数组的一种类型,其中的键和值之间存在关联关系,键可以...

    PHP开发笔记系列(四)-文件操作

    在PHP开发过程中,文件操作是不可或缺的一部分,尤其是在构建动态网站或Web应用程序时。这篇笔记将深入探讨PHP如何处理文件,包括读取、写入、移动、删除和处理目录。我们将从基本的文件I/O操作开始,然后逐步深入到...

    php-paper-开发笔记

    在PHP开发笔记中,我们可以期待以下主题的详细讲解: 1. **基础语法**:包括变量声明、数据类型、控制结构(条件语句、循环语句)、函数定义与调用、字符串和数组的操作等。 2. **面向对象编程**:类与对象的概念...

    PHP开发笔记系列(九)- 数组(一)

    索引数组是通过数字下标访问元素的数组,而关联数组则允许使用字符串作为键来访问元素。创建一个索引数组如下: ```php $numbers = array(1, 2, 3, 4, 5); ``` 创建关联数组如下: ```php $person = array('...

    PHP开发笔记系列(五)- INI文件解释

    2. **值的类型**:INI文件默认将所有值解析为字符串。若需指定其他类型,如整数或布尔值,需要使用特定语法。例如,`integer_value = 123` 或 `boolean_value = On`。 3. **路径值**:在INI文件中,路径值可以使用...

    韩顺平php系列(源代码+笔记)

    1. **基础语法**:包括变量、数据类型(如字符串、整型、浮点型、数组等)、运算符、流程控制(如条件语句if...else、循环结构for、while等)以及函数的使用。 2. **字符串与数组操作**:讲解如何处理字符串和数组...

    PHP开发笔记系列(七)- 压缩与解压缩

    在PHP开发过程中,压缩与解压缩是常见的操作,特别是在处理大量数据或文件传输时。本篇文章将深入探讨PHP中如何实现文件的压缩和解压缩,主要涉及`zip`和`gz`相关的函数库。 首先,我们来看PHP中的`zip`库。`Zip`库...

    PHP语言基础学习笔记-php函数大全笔记

    - 字符串拼接:使用`.`连接符。 ```php $message = "hello"; $name = "laoli"; echo $message . " " . $name; // 输出 "hello laoli" ``` 2. **常量与变量**: - **变量**: - 以`$`符号开头。 - 区分大...

    phpticle-in-dictionary-oJ开发笔记

    【标题】"phpticle-in-dictionary-oJ开发笔记"涉及的是一个PHP开发项目,可能是一个用于处理文本或文章的工具,特别强调了字典排序(dictionary order)的功能。这通常意味着程序会按照字母顺序对英文文章进行排序,...

    达内学习笔记----SMARTY笔记.docx

    SMARTY支持各种数据类型,包括标量(字符串、整型、浮点型、布尔型)、复合类型(数组、对象)、特殊类型(NULL)。对于数组,SMARTY支持索引数组和关联数组,可以通过下标或键名访问元素。 SMARTY还允许向模板分配...

    PHP移动互联网开发笔记

    在MySQL中,主要的数据类型分为四类:整型、浮点型、字符串类型和日期与时间型。 1. 整型数据类型: - TINYINT:占用1字节,适合存储非常小的整数。带符号的取值范围是-128到127,无符号的范围是0到255。 - ...

    PHP学习笔记之字符串编码的转换和判断

    // 将字符串由 GBK 编码转换为 UTF-8 编码 但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到 mb_string 扩展库: 复制代码 代码如下:mb_detect_encoding(‘软件开发...

    泰牛PHP笔记

    - 字符串处理:包括字符串的创建、长度获取、子串提取、替换、比较等操作。 - 数组处理:定义数组,遍历数组,数组函数的应用,如`implode()`、`explode()`、`count()`、`sort()`等。 3. **函数**: - 内置函数...

    php笔记-欢迎增加

    - 使用`eval()`函数执行该字符串。 #### 三、网页内容抓取 - **概念**:网页内容抓取是指从网页中提取所需的数据,通常用于自动化处理或数据分析。 - **方法**: - 使用正则表达式(如`preg_match_all()`)匹配...

Global site tag (gtag.js) - Google Analytics