PHP字符串操作

<?php
	echo "apple\rpear\napple\tbanana<br/>";
	$best = "PHP";
	$str1 = "I Like $best";	//双引号的内容是经过PHP语法分析器解析过的 任何变量在双引号中都会被转换成它的值输出
	$str2 = 'I Like $best';	//单引号的内容都被当做普通字符串输出
	//在进行SQL查询之前 所有的字符串都必须加上单引号 以避免可能的注入漏洞和SQL错误
	echo $str1;
	echo '<br/>';
	echo $str2;
	echo '<br/>';


	//trim() 用于去掉收尾空格和特殊字符
	$str3 = "\r\r(:@_@ 创图书馆编撰伟业 展软件开发雄风 @_@:)";
	echo trim($str3);
	echo '<br/>';
	echo trim($str3,"\r\r(:");
	echo '<br/>';
	//第二个是可选参数  指定要删除的字符 如果不设置该参数 所有的可选字符都将被删除 也可以在参数中提供要去除的特殊字符
	//Itrim() 用于去除左边的特殊字符和空格
	//Rtrim() 用于去除右边的特殊字符和空格


	//手动转义还原字符串数据
	echo '\'PHP5从入门到精通\'<br/>';
	//自动转义还原字符串数据
	//addslashes() 用来为字符串str加上反斜杠线
	//stripslashes() 用来将addslashes()转义的字符串str恢复原样
	$str4 = "'PHP5从入门到精通'";
	echo $str4.'<br/>';
	$a = addslashes($str4);
	echo $a.'<br/>';
	$b = stripslashes($str4);
	echo $b.'<br/>';
	//所有数据在插入数据库之前 有必要应用addslashes()进行转义 以免特殊字符串未经转义而插入数据库时出现错误


	//addcslashes() 在指定的字符前加入反斜线
	//stripcslashes() 将addslashed()转义的字符串还原
	$c = "编程体验网";
	echo $c.'<br/>';
	$a = addcslashes($c, "编程体验网");
	echo $a.'<br/>';
	$b = stripcslashes($c);
	echo $b.'<br/>';
	//在缓存文件中 一般对缓存数据值采用addcslashes() 进行指定范围的转义


	//获取字符串的长度
	echo strlen("编程体验网hahahaha").'<br/>';
	/*if(strlen($_POST['pwd'])<6)
		echo "密码长度不能小于6位";
	else
		echo "密码长度合法!";*/
?>
<!--<form action="UNIT5.php" method="post">
	<input type="password" name="pwd">
	<input type="submit">
</form>-->
<?php
	//截取字符串
	//substr(string str,int start,[,int length])
	//字符串 开始截取位置  (可选参数)指定截取个数
	// 如果start为负数 从末尾开始截取 如果length为负数 截取到倒数第length个
	echo substr("she is a well-read girl",0);
	echo '<br/>';
	echo substr("she is a well-read girl",4,14);
	echo '<br/>';
	echo substr("she is a well-read girl",-4,4);
	echo '<br/>';
	echo substr("she is a well-read girl",0,-4);
	echo '<br/>';
	//截取超长文本的部分字符串
	$text="PHP(外文名:PHP: Hypertext Preprocessor,中文名:\"超文本预处理器\")是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。";
	if(strlen($text)>40)
		echo substr($text,0,40)."...<br/>";
	else
		echo $text;
	/*使用substr()截取中文字符串时 如果截取的字符串是奇数 就会导致截取的中文字符出现乱码
	因为一个中文字符由两个字节组成 所有substr()适用于对英文字符串的截取 如果想要对中文字符串进行截取
	而且要避免乱码 最好的方法就是用substr()编写一个自定义函数*/


	//比较字符串 
	//1.按字节进行比较 strcmp()区分大小写  strcasecmp()不区分大小写 相等返回0 前一个大返回正数 反之 负数
	$str5="明日编程词典";
	$str6="啦啦啦啦啦啦";
	$str7="mrsoft";
	$str8="MRSOFT";
	echo strcmp($str5,$str6).'<br/>';//1
	echo strcmp($str5,$str7).'<br/>';//1
	echo strcasecmp($str7,$str8).'<br/>';//0
	//2.按自然排序法进行比较 strnatcmp() strnatcasecmp() 比较的是字符串中的数字部分 将字符串中的数字大小进行比较
	$str5="str2.jpg";
	$str6="str10.jpg";
	echo strcmp($str5,$str6).'<br/>';//1 自然运算中2比10小 而在计算机序列中2比10大
	echo strcmp($str7,$str8).'<br/>';//1
	echo strnatcmp($str5,$str6).'<br/>';//-1
	echo strnatcmp($str7,$str8).'<br/>';//1
	//3.指定从源字符串的位置开始比较 strncmp(str1,str2,length);
	$str5="I like php";
	$str6="i am fine";
	echo strncmp($str5,$str6,2).'<br/>';//-1 比较前两个字符


	//检索字符串 strstr()查找关键字 substr_count()检索字符串出现的次数
	html代码:
	<!DOCTYPE html>
	<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form method="post" action="index.php" enctype="multipart/form-data">
		<input type="hidden" name="action" value="upload"/>
		<input type="file" name="u_file"/>
		<input type="submit" value="上传">
		</form>
	</body>
	</html>
index.php代码
		if($_POST[action]=="upload"){	//判断提交按钮是否为空
		$file_path="./uploads\\";	//定义图片在服务器上的存储位置
		$picture_name=$_FILES[u_file][name];		//获取上传图片的名称
		$picture_name=strstr($picture_name,".");
		if($picture_name!=".jpg"){
			echo "<script>alert(\"图片上传格式不正确!\");</script>";
		}
		else if($_FILES[u_file][tmp_name]){	//文件被上传后在服务端储存的临时文件名
			move_uploaded_file($_FILES[u_file][tmp_name], $file_path.$_FILE[u_file][tmp_name]);	
			//执行图片上传
			echo "图片上传成功!";
		}
		else
			echo "图片上传失败";
	}
	//使用substr_count()检索字符串出现的次数
	$str="明日编程词典";
	echo substr_count($str, "词").'<br/>';
	/*检索字符串出现的次数一般常用于搜索引擎中 针对子串在字符串中出现的次数进行统计
	使于用户第一时间掌握子串在字符串中出现的次数*/


	//替换字符串
	//1.str_ireplace() 使用新字符串替换原始字符串中被指定要替换的字符串
	//mixed str_ireplace(mixed search,mixed replace,mixed subject,[,int &count]) 
	//					需要查找的字符串		替换的值		查找范围		替换的次数 
	$strA="某某";
	$strB="**";
	$strC="某某公司是一家以...".'<br/>';
	echo str_ireplace($strA, $strB, $strC);
	//此函数在执行替换时不区分大小写
	//字符串替换技术最常用的就是在搜索引擎的关键字处理中 可以使用字符串替换技术奖搜索到的字符串的关键字替换颜色 如 查询关键字描红功能 使搜索结果便于用户查看
	$content="西安工业大学(英文名:Xi'an Technological University)位于历史文化名城西安,是我国西北地区唯一一所以兵工为特色,以工为主,理、文、经、管、法协调发展的教学研究型、多科性和开放式的科学技术大学";
	$str="西安工业大学";
	echo str_ireplace($str, "<font color=\"#FF0000\">".$str."</font>", $content);
	//2.substr_replace()
	//String substr_replace(string str,string repl,int statr[,int length]);
	//							原始字符串	新字符串		起始位置		替换长度
	$str="用今日的辛勤工作,换明日的双倍回报";
	$repalce="百倍";
	echo substr_replace($str, $replace, 26,4).'<br/>';


	//格式化字符串
	//number_format(float number[,int num_decimal_places,][string dec_seperator,string thousands_separator]);
	//此函数可以有一个 两个 四个参数 但不能是三个 
	//一个参数: 舍去小数点后面的值 且第三位数字会以,隔开 
	//两个参数: 格式化到小数点后第num_decimal_places位 每三位数字会以,隔开
	//四个参数: 格式化到小数点后第num_decimal_places位 dec_seperator用来代替小数点 thousands_separator用来代替第3位数字隔开的,
	$number=1868.69;
	echo number_format($number);
	echo '<br/>';
	echo number_format($number,2);
	echo '<br/>';
	$number=11886655.760055;
	echo number_format($number,2,'.','.');
	echo '<br/>';


	//分割字符串explode()
	//array explode(string separtor,string str[,int limit]);
						//指定分割的标识符	字符串 	
	//limit可选参数 返回的数组最多包含limit个元素 最后的元素将包含str剩下的部分 
	//如果为负数 则返回除了最后的-limit个元素的所有元素
	$str="PHP编程词典@NET编程词典@ASP编程词典@JSP编程词典";
	$str_arr=explode("@", $str);
	print_r($str_arr);
	echo '<br/>';


	//合成字符串
	//implode()函数 将数组的内容合成一个新的字符串
	$array=implode("@", $str_arr);
	echo $array;
	echo '<br/>';


?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值