php

位置:IT落伍者 >> php >> 浏览文章

PHP网络编程:PHP处理正则表达式[1]


发布日期:2021年03月03日
 
PHP网络编程:PHP处理正则表达式[1]
——此文章摘自《PHP网络编程典型模块与实例精讲》定价 特价 详细>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

PHP中的正则表达式即一个模式字符串模式字符串以/开始且以/结束(头尾的/称为模式定界符)PHP中主要提供了几个以preg_为前缀的正则表达式操作函数其中较为常用的有preg_match()preg_replace()和 preg_split()

preg_match()函数常用的调用原型是

http://developcsaicn/web/images/gif>

preg_match()函数在subject字符串中搜索与pattern给出的正则表达式相匹配的内容如果提供了matches则matches被搜索的结果所填充$matches[]将包含与整个模式匹配的文本$matches[]将包含与第一个捕获的圆括号中的子模式所匹配的文本依次类推preg_match()返回pattern所匹配的次数次(没有匹配)或者因为preg_match()在第一次匹配之后将停止搜索如果出错preg_match()返回false

下面是一个使用preg_match()的例子

http://developcsaicn/web/images/gif>

本例的输出结果将是URL中的主机名是wwwphpnet

preg_replace()函数用于执行正则表达式的搜索和替换其调用原型是

http://developcsaicn/web/images/gif>

preg_replace()函数在subject中搜索pattern模式的匹配项并替换为replacement如果指定了limit则仅替换limit个匹配项如果省略limit或者其值为则所有的匹配项都会被替换

replacement可以包含\$n形式的逆向引用每个此种引用将被替换为与第n个被捕获的括号内的子模式所匹配的文本n可以从取值范围为~其中$指的是被整个模式所匹配的文本对左圆括号从左到右计数(从开始)以取得子模式的数目当替换模式在一个逆向引用后面紧接着一个数字时应当使用花括号来化解歧义如逆向引用第一个子串$后接一个数字的情况如果使用$则为引用第个子串所以应该用${}这样就形成一个隔离的$逆向引用而使另一个只是单纯的文字

preg_replace()如果搜索到匹配项则会返回被替换后的subject否则返回原来不变的subject

right>[] [http://developcsaicn/web/htm>] [http://developcsaicn/web/htm>]

               

上一篇:PHP网络编程:PHP处理正则表达式[2]

下一篇:如何学习一个新的PHP框架