首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [原创]请教...关于比对解析的问题  


  作者:夜精灵
  注册时间:2004-12-09
  主题/回复:3/8
  积分:423
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密

 

 发表:2005-01-31 17:11:45 阅读 1990 次 回复 2 次 得分2  |   字号 字色
[原创]请教...关于比对解析的问题
我是新学php的.在一个实例中...有一段比对解析的东东.我主要是不知道"比对解析"它是用来做什么的...或是说应该在什么情况下用它以下是我这本实例给的代码...这段代码是用来编一个连数据库的留言板的
------------------------------------------------------
$text=htmlspecialchars($text)
//对变量$text上的字符串进行比对解析并取代
$text=preg_replace("/\\t/is","    ",$text);
$text=preg_replace("/\[h1](.+?)\[\/h1\]/is","<h1>\\</h1>",$text);
...................
.................
以下还有很多以上的语句
__________________________________
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-01-31 19:13:40  评分:1 

关于preg_replace ()函数:
--------------------------------------------------
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])

在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。 
------------------------------------------------=---
具体到你的几句代码,
第一句是把文本中所有的制表符(也就是TAB)替换成空格。
从第二句开始,是进行了类似与UBB的(或者就是UBB)替换。比如,把[h1]替换成HTML中的<h1>...
至于为什么要替换,就不用说了吧。。
 2#楼  
 
  回复人:slopesun
  注册时间:2004-09-07
  主题/回复:58/67
  积分:753
  等级:★★★(六级)
  称号:声名鹊起

   
 2#楼 发表于2005-01-31 19:21:52  评分:1 

preg_replace(A, B, $text)
以A的规则来解析比对字符串$text,欲取而代之的字符串为参数B。返回值为混合类型资料,为取代后的字符串结果。
A 是正规表达试

========引用手册的例子==================
下例返回值为 $startDate = 6/19/1969
<?php
$patterns = array("/(19|20\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/");
$replace = array("\\3/\\4/\\1", "$\\1 =");
print preg_replace($patterns, $replace, "{startDate} = 1969-6-19");
?> 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.005sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版