爱玩科技网
您的当前位置:首页字符串处理实验报告

字符串处理实验报告

来源:爱玩科技网
字符串处理实验报告

班 级: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中的代码如下: echo '字符串翻转功能页面


';

echo '-----------英文字符串翻转-----------
'; $str='My name is liubingbing!'; echo '翻转前:'.$str;

echo '
翻转后:'.strrev($str); echo '
';

echo '-----------汉字字符串翻转-----------
'; $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 '
翻转后:'.$new_string; ?>

test2.php中的代码如下: echo '中文字符串截取功能页面


';

$string = '这是一个长字符串,仅显示其中一部分!'; echo '原始字符串:'.$string.'
';

echo '前九个字符:'.mb_substr($string,0,9,\"gbk\"); echo \"
\";

echo '前十个字符:'.mb_substr($string,0,10,\"gbk\"); echo \"
\"; ?>

test3.php中的代码如下: echo '字符串对比功能页面


'; $a = 11111111; $b = \"11111111\"; echo '$a='.$a;

echo '
$b=\"'.$b.'\"
'; if(strcmp($a,$b)==0){

echo \"使用strcmp()函数比较两个变量相等!\"; }else{

echo \"使用strcmp()函数比较两个变量不相等!\"; }

echo \"
\"; if($a==$b){

echo \"使用==比较两个变量相等!\"; }else{

echo \"使用==比较两个变量不相等!\"; }

echo \"
\"; if($a===$b){

echo \"使用===比较两个变量相等!\"; }else{

echo \"使用===比较两个变量不相等!\"; }

echo \"
\"; ?>

test4.php中的代码如下: echo 'HTML字符串过滤功能页面


'; $old_string = <<t\\nea\\rcher !

nl2br;

$new_string = nl2br($old_string); echo $old_string;

echo \"
-----nl2br()函数-----
\"; echo $new_string; echo \"
\";

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 '
strip_tags()函数处理结果:'.$sql; $mysql_name=mysql_escape_string($name);

$sql = \"select * from users where name='$mysql_name'\"; echo '
mysql_escape_string()函数处理结果:'.$sql; } ?>

用户名:admin\">

因篇幅问题不能全部显示,请点此查看更多更全内容