当前位置:文档之家› 字符串处理实验报告

字符串处理实验报告

字符串处理实验报告班级:10网工三班学生姓名:谢昊天学号:1215134046实验目的和要求:使学生能够掌握PHP中常用字符串函数的使用方法实验内容:编写PHP页面,实现字符串翻转功能、中文字符串截取、字符串对比、HTML 字符串过滤等功能实验步骤与调试过程:第一步、php服务器安装并成功后就可以开始php编程之旅单击任务栏中的系统托盘中wampserver图标,弹出界面用于管理服务器调试一下,然后打开start all services 选项,时启动服务器在C:\wamp\www下建立项目sez(十二周首字母),并在该目录下新建一个文本文档,然后将该文件名称从新建文本文档.txt修改为test1.php第二步、在sez项目中建立文件test2.php,此页面主要用来实现中文字符串截取功能,代码如下所示。

在sez项目中建立文件test3.php,此页面主要用来实现字符串对比功能,代码如下所示。

在sez项目中建立文件test4.php,此页面主要用来实现HTML字符串过滤功能,代码如下所示。

第三步、以记事本方式打开test1.php文件输入代码第四步、保存test1.php文件内容后,启动php服务器第五步、打开IE浏览器,在地址栏中输入http://localhost/1/helloworld.php后按回车键看到想要看到页面则这个php程序编写运行成功第六步、为保证php程序文件的扩展名确实为php不能隐藏已知文件类型的扩展名单击工具文件夹选项,弹出文件夹选项对话框第七步、在文件夹选项对话框中选择查看选项卡取消那个复选框,然后单击确定按钮即可完成显示文件名的扩展名设置实验结果:1、实现字符串翻转功能页面test1.php运行结果如下所示,此页面实现了英文和中文的字符翻转功能。

2、实现中文字符串截取功能页面test2.php运行结果如下所示,功能已经实现。

3、实现中文字符比较功能页面test3.php运行结果如下所示,功能已经实现。

4、实现HTML字符串过滤功能页面test4.php运行结果如下所示,各个字符出来函数处理的结果不相同,各个各的用处。

实验总结:通过本次试验,我对字符串处理思想有了进一步的了解,通过动手实现字符串翻转功能、中文字符串截取、字符串对比、HTML字符串过滤等,更加深刻的理解了字符串处理的特点。

加深了我对字符串的印象。

实验中运用了大量的PHP 内部函数。

strrev() 函数可以实现英文字符串翻转。

在做汉字翻转的时候,用strrev()函数会产生乱码,用的是中文字符串的截取函数mb_substr(),可以指定中文编码方式来处理乱码问题;在进行字符串对比时,用了三种方法:1.strcmp()函数 2.使用== 3.使用===。

HTML字符串过滤:htmlspecialchars() 函数把一些预定义的字符转换为HTML 实体。

预定义的字符是:& (和号)成为&" (双引号)成为"' (单引号)成为'< (小于)成为<> (大于)成为>strip_tags() 函数剥去HTML、XML 以及PHP 的标签。

另外mysql_escape_string()并不转义% 和_。

同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。

主要算法和程序清单:test1.php中的代码如下:<?phpecho '字符串翻转功能页面<hr/>';echo '-----------英文字符串翻转-----------<br/>';$str='My name is liubingbing!';echo '翻转前:'.$str;echo '<br/>翻转后:'.strrev($str);echo '</br>';echo '-----------汉字字符串翻转-----------<br/>';$str = '老师你好!我是刘兵兵!';echo '翻转前:'.$str;$len = mb_strlen($str,'gbk');$new_string = "";for ($i=$len;$i>=0;$i--){$new_string .= mb_substr($str,$i,1,'gbk');}echo '<br/>翻转后:'.$new_string;?>test2.php中的代码如下:<?phpecho '中文字符串截取功能页面<hr/>';$string = '这是一个长字符串,仅显示其中一部分!'; echo '原始字符串:'.$string.'<br/>';echo '前九个字符:'.mb_substr($string,0,9,"gbk"); echo "<br/>";echo '前十个字符:'.mb_substr($string,0,10,"gbk"); echo "<br/>";?>test3.php中的代码如下:<?phpecho '字符串对比功能页面<hr/>';$a = 11111111;$b = "11111111";echo '$a='.$a;echo '<br/>$b="'.$b.'"<br/>';if(strcmp($a,$b)==0){echo "使用strcmp()函数比较两个变量相等!"; }else{echo "使用strcmp()函数比较两个变量不相等!"; }echo "<br/>";if($a==$b){echo "使用==比较两个变量相等!";}else{echo "使用==比较两个变量不相等!";}echo "<br/>";if($a===$b){echo "使用===比较两个变量相等!";}else{echo "使用===比较两个变量不相等!";}echo "<br/>";?>test4.php中的代码如下:<?phpecho 'HTML字符串过滤功能页面<hr/>';$old_string = <<<nl2brIamat\nea\rcher!nl2br;$new_string = nl2br($old_string);echo $old_string;echo "<br/>-----nl2br()函数-----<br/>";echo $new_string;echo "<br/>";if(isset($_POST["name"])){$name = $_POST["name"];$html_name = htmlspecialchars($name);$sql = "select * from users where name='$html_name'";echo 'htmlspecialchars()函数处理结果:'.$sql;$strip_name = strip_tags($name);$sql = "select * from users where name='$strip_name'";echo '<br/>strip_tags()函数处理结果:'.$sql;$mysql_name=mysql_escape_string($name);$sql = "select * from users where name='$mysql_name'";echo '<br/>mysql_escape_string()函数处理结果:'.$sql;}?><form method="post" action="">用户名:<input type="text" name="name" value="<h1>admin</h1>"> <input type="submit" value="查询"></form>。

相关主题