`
wangyalei
  • 浏览: 53750 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

php学习笔记(字符串常用处理方法与正侧)

    博客分类:
  • PHP
阅读更多
  $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_ORDERPREG_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

$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时整理的学习笔记

    1. **常用函数.php**:这部分内容可能包含了PHP中的常用内置函数,如数组操作函数(array_*)、字符串处理函数(str_*)和文件操作函数(file_*)等,这些都是PHP编程中不可或缺的基础工具。 2. **批量把座標轉成...

    学习php笔记 字符串处理

    本文将详细介绍几个常用的PHP字符串处理函数,包括`substr()`、`explode()`、`strrev()`以及与国际化相关的`setlocale()`和`strftime()`函数,并通过具体的示例来帮助大家更好地理解和运用这些函数。 #### 二、`...

    我的PHP学习笔记

    2. **字符串处理**:PHP提供了丰富的字符串处理函数,如`strlen()`计算长度,`substr()`截取子串,`str_replace()`替换字符串,`strpos()`查找子串位置,以及`explode()`和`implode()`处理数组与字符串之间的转换。...

    php基本语法学习笔记

    通过博主杨梦的"php基本语法学习笔记",初学者可以系统地了解和掌握PHP的基本语法和常用功能。配合`php笔记.docx`文档,读者将能够更深入地学习和实践这些知识,从而提升PHP编程技能。在实际开发中,结合源码分析和...

    php学习笔记之字符串常见操作总结

    PHP字符串操作是PHP编程中最基础也是最常用的操作之一。字符串可以使用单引号或双引号进行定义,而PHP提供了多种字符串操作函数来实现不同的功能。接下来我们将详细介绍PHP中字符串的定义、单引号与双引号的用法以及...

    PHP的学习笔记.pdf

    以下是从提供的文件内容中梳理出的PHP学习笔记知识点: 1. PHP常用输出语句: - echo:用于输出字符串,可以输出多个值,但不具备返回值。 - print_r:打印变量的详细信息,也可以输出多个值,并能接受第二个参数...

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

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

    PHP学习笔记总结.doc

    【PHP学习笔记总结】 PHP(超文本预处理器)是一种广泛使用的开源脚本语言,特别适合于Web开发。它能够嵌入HTML中,让开发者在服务器端处理数据,生成动态网页内容。与JavaScript不同,PHP代码在服务器上执行,然后...

    php学习笔记(三)操作符与控制结构

    在处理中文字符串时,可能会遇到特殊字符编码的问题,使用双引号可以有效解决这个问题,通过字符串连接的方式将变量与文本内容正确地组合在一起。 二、操作符 PHP支持多种类型的操作符,包括算术操作符、赋值操作...

    php学习笔记 基础

    在PHP学习过程中,基础知识是非常关键的部分,这包括对语言核心概念的理解、环境配置以及编码规范。以下是一些从标题和描述中提炼出的关键知识点: 1. **PHP基础**:PHP是一种广泛使用的开源脚本语言,尤其适用于...

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

    ### PHP语言基础学习笔记-php函数大全笔记 #### 一、PHP概述与基本概念 - **PHP简介**: - PHP(Hypertext Preprocessor,原名Personal Home Page)是一种广泛使用的开源服务器端脚本语言,特别适合Web开发,并且...

    泰牛PHP笔记

    【泰牛PHP笔记】是由知名IT教育专家韩顺平老师编撰的一套PHP学习资料,旨在帮助初学者和进阶者深入理解PHP编程语言。这本笔记是根据韩顺平老师的教学课程整理而成,结合视频教程,能为学习者提供全方位的学习体验。...

    php100关于类的学习笔记

    例如,`internet()`方法返回一个字符串,表示使用特定的电脑上网。 3. **析构**:`__destruct`析构函数会在对象被销毁时自动调用,通常用于执行清理工作,如关闭数据库连接或释放资源。在`MyPc`类中,析构函数打印...

    php 手册[学习笔记]

    - **`echo`**:最常用的输出语句之一,用于简单地输出一个或多个字符串。 - **`print`**:与 `echo` 类似,但 `print` 只能接受一个参数。 #### 1.2 `printf` 函数 - 用于格式化输出字符串,特别适用于需要输出复杂...

Global site tag (gtag.js) - Google Analytics