使用PHP正则表达式时的一个问题

来源:互联网 发布:淘宝贷款怎么提前还款 编辑:程序博客网 时间:2024/06/15 20:16
在学习PHP正则表达式时,测试了老外写的一本书中的代码,我以中文字符串作为正则表达式的模式进行测试,发现当正则表达式的模式为中文时会出现问题(多次点击测试按钮,浏览器会运行得越来越慢,最后PHP报错)。我不清楚其中的缘由,感兴趣可以尝试一下。代码和运行结果截图如下:
<html><head><meta http-equiv='Content-Type' content='text/html;charset=utf-8' /></head><body><?php/*** 测试正则表达式的使用*/if($_SERVER['REQUEST_METHOD'] == 'POST'){//处理提交的表单中的内容$pattern = trim($_POST['pattern']);$subject = trim($_POST['subject']);echo '模式匹配的结果是:';if(preg_match($pattern,$subject)){echo '匹配成功';}else{echo '匹配失败';}}?><form action='pcre.php' method='post'><p>正则表达式模式(包含模式分隔符):<input type='text' name='pattern' value='<?php if(isset($pattern)) echo htmlentities($pattern);?>' size='40' /> </p><p>被测试的字符串:<input type='text' name='subject' value='<?php if(isset($subject)) echo htmlentities($subject);?>' size='40'/> </p><input type='submit' name='submit' value='测试' /></form></body></html>



运行的结果截图如下(查看顺序为photo1~6):








0 0
原创粉丝点击