- 浏览: 53739 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
wangyalei:
phpgood 写道嗯嗯,挺全面的,但正则是很容易忘记的!我想 ...
php学习笔记(正侧表达式一) -
phpgood:
期待你分享更多的学习笔记!
php学习笔记(魔术方法的使用) -
phpgood:
好!
php学习笔记(魔术方法的使用) -
phpgood:
嗯嗯,挺全面的,但正则是很容易忘记的!我想问的是怎样才能比较牢 ...
php学习笔记(正侧表达式一) -
gryphone:
干嘛 吃素 这样人家会怀疑你的体质的 00X
最牛软件开发人员----自我评价
$tr = "122222.222.332。3,434,affd"; $ms = "/[,.。]/"; print_r(preg_split($ms,$tr,6)); //1 可选 分割 多少次 //Array ( [0] => 122222 [1] => 222 [2] => 332 [3] => [4] => 3 [5] => 434,affd )
在php中对字符串的处理函数很多 在这整理了一些常用的函数
1: 处理字符串处理 大体的可分为两种 一种是 通过正侧 , 一种是 通过内置函数
先看内置的函数 :
<?php /* * Created on 2010-8-1 * * To change the template for this generated file go to * Window - Preferences - PHPeclipse - PHP - Code Templates */ //处理字符串中的每个字节 $str = "This weeked,I'm going shopping for a pet chicken"; $vowels = 0; for ($i = 0, $j = strlen($str); $i < $j; $i++) { if (strstr('T', $str[$i])) { $vowels++; } } echo $vowels; // 1 ?> <?php // 字符串的翻转 print (strrev("one two")); // owt eno ?> <?php $s = "Once upon a time threse was"; // 将字符串分解 $word = explode(' ', $s); // 或是str_split print_r($word); //Array ( [0] => Once [1] => upon [2] => a [3] => time [4] => threse [5] => was ) // 翻转这个数组 $word = array_reverse($word); print_r($word); //Array ( [0] => was [1] => threse [2] => time [3] => a [4] => upon [5] => Once ) //重组成字符串 以空格 分开 $word = implode(' ', $word); print_r($word); //was threse time a upon Once ?> <?php $vowels = array ( "a", "e", "i", "o", "u", "A", "E", "I", "O", "U" ); // $vowels 原数据 " " 要替换换的内容 Hello World of PHP 进行替换的数据 // 把 Hello World of PHP 中与 $vowels 相匹配的内容 换成 " " $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); echo $onlyconsonants; //Hll Wrld f PHP $str = "abcdef"; $str = str_replace($str, "ffffff", "abcdef"); echo $str; //ffffff $phrase = "You should eat fruits, vegetables, and fiber every day."; $healthy = array ( "fruits", "vegetables", "fiber" ); $yummy = array ( "pizza", "beer", "ice cream" ); $newphrase = str_replace($healthy, $yummy, $phrase); echo $newphrase; //"You should eat pizza", "beer", "ice cream every day ?> <?php //很明显了 echo str_repeat("-=", 10); //-=-=-=-=-=-=-=-=-=-= echo str_repeat("php", 2); //phpphp ?> <?php //控制大小写 //第一个首字母大写 print (ucfirst("one two")); //One two // 全部字母首字母大写 print (ucwords("one two")); //One Two $str = "Mary Had A Little Lamb and She LOVED It So"; $str = strtoupper($str); echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO ?> <?php //去掉字符串两端的空白符 例如: 换行符 , 回车符 , 空格 ,水平,垂直 , 制表 , null $str = " abc "; echo trim($str); //两边空格 echo ltrim($str); //left echo rtrim($str); //right //还可以删除 //.. 表示 from to print ltrim("10 Pint A", "0..9"); //Pint A print rtrim("select * from table;", ";"); //select * from table ?>
以上php5内置函数对字符串的常用处理方法,php5中正侧的能处理一些特殊的字符 先看一下正侧的基本知识
字符 说明 ^ 匹配行的开始位置 $ 匹配行的结束位置 \b 匹配单词的开始或结束位置 . 匹配除换行符之外的任意数字 \w 匹配单词字符(字符、数字、下划线和汉字) \W 匹配任意的非单词字符 \s 匹配任意空白字符,如空格、制表符、换行符等 \S 匹配任意非空白字符 \d 匹配任意的数字 \D 匹配任意的非数字字符 [ aeiou ] 匹配字符集合中的任何字符 [ ^aeiou ] 匹配除了字符集合中之外的字符 [ 0~9a~zA~Z_ ] 匹配任何数字、字母和下划线,等同于\w [ ^0~9a~zA~Z ] 匹配除了任何数字、字母、下划线之外的任何字符 字符或表达式 说明 {n} 重复n次 {n,} 重复至少n次 {n,m} 重复至少n次,最多m次 * 重复至少0次,等同于{0,1} + 重复至少1次,等同于{1,} ? 重复0次或1次,等同于{0,1} *? 尽可能少的使用重复的第一个匹配 +? 尽可能少的使用重复但至少使用一次 ?? 使用零次重复(如有可能)或一次重复 {n}? 等同于{n} {n,}? 尽可能少的使用重复但至少使用n次 {n,m}? 介于n次和m次之间,尽可能少的使用重复
php5中用 pregpreg_match_all -- 进行全局正则表达式匹配_match_all -- 进行全局正则表达式匹配
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
在 subject
中搜索所有与 pattern
给出的正则表达式匹配的内容并将结果以 flags
指定的顺序放到 matches
中。
搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。
flags
可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义):
php 中 有两个常用的函数: preg_match,ereg.
$pattern = '/wang/'; $subject = 'wangxiaoming'; /****** * @param pattern 给出的正则表达式相匹配的内容。 * @param subject 要匹配的原内容。 * @param $arr 把匹配结果放到数组中 */ if(preg_match($pattern,$subject,$arr)){ if(isset($arr)){ echo "匹配成功";//匹配成功 }else{ echo "匹配失败"; } }
提示: 如果只想查看一个字符串是否包含在另一个字符串中,不要用 preg_match()。可以用 strpos() 或 strstr() 替代,要快得多。
$email = "wangyaleiit@gmail.com"; if (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+", $email)) { echo "正确"; } else { echo "错误"; }
手机
$phone = '15254162825'; if (ereg("^1[3458]([0-9]{9})",$phone)) { echo "正确"; } else { echo "错误"; }
注意: 在正侧表达式中的运算符是有顺序的
() *?+{}重复匹配 ^$\b边界处理 |条件处理 最后按顺序了
模式修正符
i :模式中的字符将同时匹配大小写字母. m :字符串视为多行. s :将字符串视为单行,换行符作为普通字符. x :将模式中的空白忽略. A :强制仅从目标字符串的开头开始匹配. D :模式中的美元元字符仅匹配目标字符串的结尾. U :匹配最近的字符串.
$pattern = "/[a-z]/i"; $subject = "B"; if (preg_match($pattern, $subject, $arr)) { echo "匹配成功"; //匹配成功 } else { echo "匹配失败"; }
$pattern = "/^aaaaa/m"; $subject = "bbbbbb\naaaaa"; if (preg_match($pattern, $subject, $arr)) { echo "匹配成功"; //匹配成功 } else { echo "匹配失败"; }
$pattern = "/555(.*)444/s"; $subject = "555\n55444"; if (preg_match($pattern, $subject, $arr)) { echo "匹配成功"; //匹配成功 } else { echo "匹配失败"; }
$pattern = "/555 444/x"; $subject = "55555444"; if (preg_match($pattern, $subject, $arr)) { echo "匹配成功"; //匹配成功 } else { echo "匹配失败"; } ?>
$pattern = "/<(.*)>/U"; $subject = "<a href>ssss</a>"; if (preg_match($pattern, $subject, $arr)) { echo "匹配成功".$arr[0]; //匹配成功<a href> } else { echo "匹配失败"; }
替换
$strs = "标题:{title}<br>作者:{author}<br>内容:{con}"; $modes = array("/{title}/","/{author}/","/{con}/"); $repl = array("java","php","oracle"); echo preg_replace($modes,$repl,$strs); //标题:java //作者:php //内容:oracle
$strss = "12222sdfs22222sdsf"; $mod = "/(s)/ie"; echo preg_replace($mod,"md5(\\1)",$strss,1); //1 可选 替换 多少次 //1222203c7c0ace395d80182db07ae2c30f034dfs22222sdsf
发表评论
-
php学习笔记(正侧表达式一)
2010-08-29 22:55 1271字符 说明 ^ ... -
php学习笔记(魔术方法的使用)
2010-08-26 20:34 10851 __construct().当实例 ... -
php学习笔记(开发中常设置的内置函数)
2010-08-23 22:48 1648为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都 ... -
目录操作
2010-08-23 15:31 0皆さんこんにちは、まず自己紹介させていただき、私は第1事業部の ... -
php学习笔记(日期函数用法总结)
2010-08-22 13:36 1345php中对时间日期的处理时相对简单的,php中提供了date ... -
php学习笔记(数组函数用法总结)
2010-08-21 11:24 0array -
php学习笔记(预防session拦截)
2010-08-20 21:21 0拦截 -
php学习笔记(异常处理)
2010-08-20 15:10 0exception -
php学习笔记(过滤器)
2010-08-20 14:29 0过滤器 -
php学习笔记(国际化)
2010-08-20 14:00 0国际化 -
php学习笔记(防sql注入)
2010-08-20 13:59 0sql注入 -
php学习笔记(数字函数用法总结)
2010-08-20 13:53 0数字 -
php学习笔记(上传与下载类)
2010-08-19 21:30 1313php中的文件上传很简单 不像java 中需要借助 commo ... -
php学习笔记(序列化应用)
2010-08-18 10:22 748//php中的序列化 //大部分用与 处理数组传递,数组存库 ... -
php学习笔记(搜索引擎)
2010-08-17 21:34 0搜索引擎 -
php学习笔记(反射机制)
2010-08-17 21:00 0反射 -
php学习笔记(仿百度分页类)
2010-08-17 20:59 2301本类能够实现像百度、谷歌一样的分页效果 ***** ... -
php学习笔记(php.inc的配置详解)
2010-08-15 11:45 1191学习php 先要了解一下php的配置 对以后的学习很有帮助 , ... -
php学习笔记(svs)
2010-08-15 11:41 0svd -
php学习笔记(字符过滤类)
2010-08-15 00:55 0过滤
相关推荐
1. **常用函数.php**:这部分内容可能包含了PHP中的常用内置函数,如数组操作函数(array_*)、字符串处理函数(str_*)和文件操作函数(file_*)等,这些都是PHP编程中不可或缺的基础工具。 2. **批量把座標轉成...
本文将详细介绍几个常用的PHP字符串处理函数,包括`substr()`、`explode()`、`strrev()`以及与国际化相关的`setlocale()`和`strftime()`函数,并通过具体的示例来帮助大家更好地理解和运用这些函数。 #### 二、`...
2. **字符串处理**:PHP提供了丰富的字符串处理函数,如`strlen()`计算长度,`substr()`截取子串,`str_replace()`替换字符串,`strpos()`查找子串位置,以及`explode()`和`implode()`处理数组与字符串之间的转换。...
通过博主杨梦的"php基本语法学习笔记",初学者可以系统地了解和掌握PHP的基本语法和常用功能。配合`php笔记.docx`文档,读者将能够更深入地学习和实践这些知识,从而提升PHP编程技能。在实际开发中,结合源码分析和...
PHP字符串操作是PHP编程中最基础也是最常用的操作之一。字符串可以使用单引号或双引号进行定义,而PHP提供了多种字符串操作函数来实现不同的功能。接下来我们将详细介绍PHP中字符串的定义、单引号与双引号的用法以及...
以下是从提供的文件内容中梳理出的PHP学习笔记知识点: 1. PHP常用输出语句: - echo:用于输出字符串,可以输出多个值,但不具备返回值。 - print_r:打印变量的详细信息,也可以输出多个值,并能接受第二个参数...
总结,这份学习笔记涵盖了PHP的基础语法、数学和日期处理、字符串操作,以及MySQL和JavaScript/jQuery的基本知识,是一份全面的Web开发学习资料。通过深入理解和实践这些内容,开发者可以提升自己的Web开发技能。
【PHP学习笔记总结】 PHP(超文本预处理器)是一种广泛使用的开源脚本语言,特别适合于Web开发。它能够嵌入HTML中,让开发者在服务器端处理数据,生成动态网页内容。与JavaScript不同,PHP代码在服务器上执行,然后...
在处理中文字符串时,可能会遇到特殊字符编码的问题,使用双引号可以有效解决这个问题,通过字符串连接的方式将变量与文本内容正确地组合在一起。 二、操作符 PHP支持多种类型的操作符,包括算术操作符、赋值操作...
在PHP学习过程中,基础知识是非常关键的部分,这包括对语言核心概念的理解、环境配置以及编码规范。以下是一些从标题和描述中提炼出的关键知识点: 1. **PHP基础**:PHP是一种广泛使用的开源脚本语言,尤其适用于...
### PHP语言基础学习笔记-php函数大全笔记 #### 一、PHP概述与基本概念 - **PHP简介**: - PHP(Hypertext Preprocessor,原名Personal Home Page)是一种广泛使用的开源服务器端脚本语言,特别适合Web开发,并且...
【泰牛PHP笔记】是由知名IT教育专家韩顺平老师编撰的一套PHP学习资料,旨在帮助初学者和进阶者深入理解PHP编程语言。这本笔记是根据韩顺平老师的教学课程整理而成,结合视频教程,能为学习者提供全方位的学习体验。...
例如,`internet()`方法返回一个字符串,表示使用特定的电脑上网。 3. **析构**:`__destruct`析构函数会在对象被销毁时自动调用,通常用于执行清理工作,如关闭数据库连接或释放资源。在`MyPc`类中,析构函数打印...
- **`echo`**:最常用的输出语句之一,用于简单地输出一个或多个字符串。 - **`print`**:与 `echo` 类似,但 `print` 只能接受一个参数。 #### 1.2 `printf` 函数 - 用于格式化输出字符串,特别适用于需要输出复杂...