`

第8章 字符串处理

 
阅读更多

Demo1.php

<?php
	//源代码是文本形式,页面显示是 web 形式
	$str = '           PHP            ';
	//清理一下两边的空格 ltrim 只清理左,rtrim只清理右边
	echo ltrim($str);
	echo '<br/>';
	echo rtrim($str);
	echo '<br/>';
	//两边都清理
	echo trim($str);
	//echo chop($str);
?>

 

Demo2.php

<?php
	$str = "This is 一站式建网站 \n This is a OneStopWeb";
	//但是,我现在想要在网页中实现换行
	//在回帖的时候,一个回车就是 \n
	//我们通过函数来实现转换过程
	
	echo nl2br($str);
?>

 

Demo3.php

<?php
	//将所有字符转换成 HTML
	$str = '<strong>阅谁问君诵,水落清香浮。</strong>';
	//echo htmlentities($str);
	//我们只要转换特殊字符即可
	//echo htmlspecialchars($str);//<strong>阅谁问君诵,水落清香浮。</strong>	
	echo strip_tags($str); //阅谁问君诵,水落清香浮。
?>

 

Demo4.php

<?php
	$str = 'This is "一站式建网站" \n This is a OneStopWeb';
	//对于即将插入数据库的字符串,把有问题的字符处理一下
	//echo addslashes($str); //This is \"一站式建网站\" \\n This is a OneStopWeb
	$a = addslashes($str);
	//这个 $a 就是写入数据库的,我拿出来的话,就会有 \ 这个符号
	echo stripcslashes($a);
	//首先将写进数据库的字符串通过 addslashes() 函数过滤一下,然后拿出来的时候
	//再通过 stripcslashes() 解析一下显示
?>

 

Demo5.php

<?php
	//将字符串转换成大写
	echo strtoupper('oneStopWeb');//ONESTOPWEB
	//将字符串转换成小写
	echo strtolower('oneStopWeb');//onestopweb
	//将第一个字母转换成大写		
	echo ucfirst('oneStopWeb');	//OneStopWeb		
?>

 

Demo6.php

<?php
	$str = 'oneStopWeb';
	//echo str_pad($str,11).'is good!';	//oneStopWeb is good!
	//oneStopWeb###
	//echo str_pad($str,13,'#')
	
	echo str_pad($str,18,'#',STR_PAD_BOTH);
	echo '<br/>';
	echo str_pad($str,18,'#',STR_PAD_LEFT);
	echo '<br/>';
	echo str_pad($str,18,'#',STR_PAD_RIGHT);
/**
 * ####oneStopWeb####
 * ########oneStopWeb
 * oneStopWeb########
 * */	
?>

 

Demo7.php

<?php
	//explode -- 使用一个字符串分割另一个字符串
	//返回的是一个数组
	//explode 第一参数是分割字符串,第二个参数是要被分割的字符串
	$email = explode('@','oneStopWeb@163.com');
	//print_r($email);	//Array ( [0] => oneStopWeb [1] => 163.com ) 
	//分割完了之后,我经过一轮筛选,还要重新组合
//	$arr = array('oneStop','@','163.com');
//	$str = implode('&',$arr);
//	echo $str;//oneStop&@&163.com
	$str = implode(' - ',$email);
	echo $str; //oneStopWeb - 163.com
?>

 

Demo8.php

<?php
//	$str = 'I will be back';
//	$arr = explode(' ',$str);
//	print_r($arr);	//Array ( [0] => I [1] => will [2] => be [3] => back ) 

	$str = 'I,will.be#back';
	$tok = strtok($str,',.#');
	//echo $tok;
	while($tok){
		echo $tok.'<br/>';
		$tok = strtok(',.#');
	}
	
//	$str = 'I will be back';
//	$tok = strtok($str,' ');
//	//echo $tok;
//	while($tok){
//		echo $tok.'<br/>';
//		$tok = strtok(' ');
//	}
//	$tok = strtok(' ');
//	echo $tok;//Iwill
//	//指针没有下移,而是重新来了一次
//	$tok = strtok($str,' ');
//	echo $tok;

?>

 

Demo9.php

<?php
	$str = 'oneStopWeb@163.com';
	//中间的参数表示开始的位置,位置是从 0 开始的,最后一个参数,是取出的个数
	echo substr($str,0,5)	;//oneSt
?>

 

Demo10.php

<?php
	//$str = 'oneStopWeb@163.com';
	$str = '阅谁问君诵,水落清香浮。'; //中文乱码
	print_r(str_split($str));
?>

 

Demo11.php

<?php
	$str = 'oneStopWeb@163.com';
	echo strrev($str); //moc.361@beWpotSeno	
?>

 

Demo12.php

<?php
	//通过 == 来比较字符串是否一致	
	//最后的返回值是布尔值
	//echo 'a' == 'a';
	//比较两个字符串
	//echo strcmp('a','b');
//	if(strcmp('a','a') == 0){
//		echo '相等';
//	}
	//echo strcasecmp('B','b'); //不区别大小写
	//目前是非自然排序
	//echo strcmp('2','10');//1
	//如果按照自然排序方式比较呢?
	echo  strnatcmp('2','10');//-1
?>

 

Demo13.php

<?php
	//strspn
	//后面两个数字的参数,是从第几位开始,取多少位
	echo strspn('one','oneStopWeb@163.com',1,5);	
?>

 

Demo14.php

<?php
	//测试字符串的长度
	echo  strlen('oneStopWeb@163.com')	;
?>

 

Demo15.php

<?php
	//测试字符串出现的频率
	echo substr_count('oneStopWeb@163.com','o');
?>

 

Demo16.php

<?php
	//从指定的字符串开始输出之后的字符串
	echo  strstr('oneStopWeb@163.com','@');
	//不区别大小写的
	echo stristr('oneStopWeb@163.com','s');
?>

 

Demo17.php

<?php
	//查找某字符串最先出现的位置
	//位置是从第 0 个位置开始计算,W第一次出现在第 7 个位置上
	echo strpos('oneStopWeb@163.com','W');
	//最后出现的位置
	echo strrpos('oneStopWeb@163.com','o');
?>

 

Demo18.php

<?php
	//字符串替换
	//第一个参数表示要查找的字符串(部分)
	//第二个参数表示要替换成的字符串(部分)
	//第三个参数表示原来的被替换的完整字符串
	//echo str_replace('one','yi','oneStopWeb@163.com');//yiStopWeb@163.com
	
	//str_ireplace 是不区分大小写
	//echo str_ireplace('oNe','yi','oneStopWeb@163.com');//yiStopWeb@163.com
	
	//从第一个位置开始(参数3),取出 5 个来(参数4),将它替换成 ###(参数2)
	echo substr_replace('oneStopWeb@163.com','###',0,5);
?>

 

Demo19.php

<?php
	//取中文长度
	$str = '阅谁问君诵,水落清香浮。';
	//用普通的 strlen 取一个中文字,就算两个
	//echo strlen($str)	;
	//使用 mb_strlen 来取中文,有第二个参数,字符编码
	echo mb_strlen($str,'GBK');//12
	
	//如果你使用普通的 strlen 这个函数,我取 1 个字符
	//采用 mb_substr 来取中文字符
	echo mb_substr($str,2,1,'GBK');//问
?>

 

Demo20.php

<?php
	$str = '阅谁问君诵,水落清香浮。';
	//求出 o 最先出现的位置 
	//中文的算法,两个字符一个中文字
	//mb 就算一个
	//echo strpos($str,'问');//4
	//按中文一个字符来计算,这样不会出现半个中文的状态
	echo mb_strpos($str,'问',0,'GBK');
?>

 

Demo21.php

<?php
//	$str = '阅谁问君诵,水落清香浮。'	;
//	echo mb_substr($str,0,1,'GBK');
	$str ='阅谁问君诵,水落清香浮。';
	//这个就无所谓用 mb_strstr
	echo strstr($str,'水');
?>

 

Demo22.php

<?php
	$str ='阅谁问君诵,水落清香浮。';
	echo mb_substr_count($str,'问','GBK');	
?>

 

 

 

分享到:
评论

相关推荐

    第8章 字符串处理和正则表达式1

    本章主要关注字符串处理,包括输出、格式化、分割、连接、比较以及查找和替换。 字符串输出是任何程序的核心部分,PHP提供了多种方式来实现这一目标。首先,`echo()`函数是最常用的字符串输出函数,它可以同时输出...

    Java第6章 字符串 含源代码

    本章将深入探讨Java中的字符串处理,包括其基础知识、方法以及实际应用。以下是对Java字符串的详细讲解: 1. **字符串对象与字面量** 在Java中,字符串被视为对象,由`String`类表示。有两种创建字符串的方式:...

    第 8 章:数组与字符串

    第1章: 概述 第 2 章:C#与Visual Studio 2005 第 3 章:变量、数据类型和表达式 ...第 8 章:数组与字符串 第 9 章:基于 Windows 的应用程序 第 10 章:创建 Web 应用程序 第 11 章:.NET Framework 2.0 简介

    第二章 字符串处理和进制转换(C++)_codes.rar

    在C++编程语言中,字符串处理和进制转换是两个重要的概念,对于参与NOIP(全国青少年信息学奥林匹克竞赛)和信奥学习的学生来说,掌握这些技能至关重要。本章将深入探讨这两个主题,并通过实际代码示例进行讲解。 ...

    第4章 字符串1

    最后,字符串的模式匹配是字符串处理中的一个重要应用,它涉及到如何在文本字符串中查找特定的模式字符串。这部分内容在后续章节中会进一步探讨。 总结来说,字符串是计算机科学中的基础数据结构,用于处理和存储...

    精品课件 Python从入门到精通 第7章 字符串(共17页).ppt

    - `encode()`方法用于将字符串转化为特定编码的字节序列,例如UTF-8。例如:`str.encode('utf-8')`。 - `decode()`方法用于将字节序列解码回字符串。例如:`bytes.decode('utf-8')`。 2. **字符串常用操作**: -...

    Python程序设计董付国(第二版)第4章字符串与正则表达式.pptx

    Python程序设计董付国第二版第四章字符串与正则表达式知识点总结 1. 字符串编码:ASCII、UTF-8、UTF-16、UTF-32、GB2312、GBK、CP936、base64等,了解不同编码格式的特点和应用场景。 2. Python字符串类型:Python...

    C++Primer第五版 第3章 字符串变量和数组(练习解答)

    在这一章中,你将学习如何创建、初始化、操作和比较字符串,以及如何使用字符串函数进行各种操作,如查找、替换和连接字符串。 数组则是一种存储同一类型元素集合的数据结构。数组的大小在声明时必须指定,并且元素...

    第8章 操作字符和字符串

    【第8章 操作字符和字符串】 在C#编程中,字符和字符串是处理文本数据的基本元素。本章深入探讨了这两个主题,包括它们的使用、比较、编码以及各种操作方法。 **8.1 字符** `Char`类型在C#中代表一个Unicode字符...

    罗宾500例-第10章 字符串.rar

    "罗宾500例-第10章 字符串.rar"是一个专门针对字符串处理的学习资源,它包含了多个实例,旨在帮助用户深入理解和熟练掌握字符串操作。在这个压缩包中,我们可以期待找到一系列关于VC++中字符串处理的示例代码和解释...

    第2章字符串[整理].pdf

    然而,字符串处理不当往往会导致严重的安全问题,比如缓冲区溢出、代码注入等。本章主要探讨了字符串的特征、常见处理错误以及相关的缓解策略。 2.1 字符串特征 在C/C++中,字符串并非内置类型。单字节字符串由以空...

    [大学生考试专用C语言教学课件]第10章 字符串.pptx

    C语言字符串处理 C语言中的字符串处理是指对字符串的存储、操作和处理。字符串是C语言中的一种基本数据类型,它可以存储和操作单个字符或一组字符。下面是C语言中字符串处理的相关知识点: 1. 字符串常量 字符串...

    第二章 字符串处理和进制转换(C++)_PDF(2020.06.10).rar

    在C++编程语言中,字符串处理和进制转换是两个重要的概念,对于参与NOIP(全国青少年信息学奥林匹克竞赛)和信奥等编程竞赛的学生来说,掌握这些技能至关重要。本章将深入探讨这两个主题,帮助你提升编程能力。 ...

    第二章 字符串处理和进制转换(C++) 第2课 贝贝的图形(vhist)-2019-11-26.pdf

    在这段内容中,主要涉及到的知识点包括C++字符串处理、进制转换、数组使用以及循环控制输出格式。下面将详细解释这些概念: 1. 字符串处理:在C++中,字符串可以被视为字符数组,它们通常以字符序列的形式存储。...

    第4章 字符串与正则表达式.pptx

    本章主要探讨的是字符串及其与正则表达式的相关知识。 4.1 字符串 字符串的编码是一个重要的概念,涉及到字符如何在计算机内部表示。最早广泛使用的字符编码是ASCII,它使用1个字节(8位)编码,最多能表示256个...

    第四章 字符串和格式化输入输出.pdf

    sscanf()函数可以读取字符串,但它只会读取到第一个空白字符(空格、制表符、换行符)为止。这个函数不适用于读取包含空白字符的字符串。 6. 字符串格式化输入输出: 在printf()函数的格式字符串中,%s用于指定...

    第05章 字符串与正则表达式.pptx

    在Python编程语言中,字符串是数据处理中非常重要的一个部分,尤其在大数据应用中更是不可或缺。本章将详细讲解字符串的基础以及正则表达式的概念。 首先,字符串在Python中是不可变序列,这意味着一旦创建了一个...

    第4章 python字符串.pptx

    Python字符串是编程中的基本数据类型,用于存储和处理文本信息。在Python中,字符串是由一串字符组成的,这些字符可以是数字、字母或任何其他允许的特殊字符。字符串通常用单引号或双引号括起来,例如`'hello'`或`...

    C++课件第11章-string类字符串处理(ppt文档).ppt

    这个类极大地简化了字符串处理,使得程序员不再需要依赖C风格的字符数组和`&lt;cstring&gt;`头文件中的函数。 首先,`string`类的定义是通过模板类`basic_string`的特化实现的,其中`typedef basic_string&lt;char&gt; string;`...

Global site tag (gtag.js) - Google Analytics