字符串处理实验报告
级: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字符串过滤功能,代码如下所示。
第三步、以记事本方式打开字符串函数strip的作用test1.php文件  输入代码
第四步、保存test1.php文件内容后,启动php服务器
第五步、打开IE浏览器,在地址栏中输入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() 函数剥去 HTMLXML 以及 PHP 的标签。另外mysql_escape_string()并不转义 % _同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。
主要算法和程序清单:
test1.php中的代码如下:
<?php
echo '字符串翻转功能页面<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中的代码如下:
<?php
echo '中文字符串截取功能页面<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中的代码如下:
<?php
echo '字符串对比功能页面<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中的代码如下:
<?php
echo 'HTML字符串过滤功能页面<hr/>';
$old_string = <<<nl2br
I
am
a
t\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>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。