eregi_replace与preg_replace 函数代码的用法比较

eregi_replace ( string pattern, string replacement, string string )

preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit [, int &count]] )

以上两个函数基本义定义我知道

但是里面样式或参数的定义我搞不懂

例如以下是UBB与YBB Code的用法

$str = eregi_replace("\\[url]http://([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\1</a>",$str);

$text = preg_replace("!(\[url=)(http|https|ftp)(://\S+?)(\])(.+?)(\[/url\])!i", "<a href='\\2\\3' target='_blank'>\\5</a>", $text);

有谁能说明解决里面那些符号代表何意义?

我相信很多人也只会照抄来用

但是搞不懂意思,搞不懂意思的话,就不可能自己写程式,

发挥这函数的功能了

preg_replace() 函数使用了 Perl 兼容正则表达式语法,通常是比 ereg_replace() 更快的替代方案。

形式或(自 PHP 4.0.4 起)$n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第 n 个被捕获的括号内的子模式所匹配的文本

n 可以从 0 到 99,其中 \\0 或 $0 指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从 1 开始)以取得子模式的数目

例子 1. 逆向引用后面紧接着数字的用法

复制代码 代码如下:

<?php 

$string = "April 15, 2003"; 

$pattern = "/(\w+) (\d+), (\d+)/i"; 

$replacement = "\${1}1,\$3"; 

print preg_replace($pattern, $replacement, $string); 

/* Output 

====== 

preg_replace() 搞不清楚是想要一个 \\1 的逆向引用后面跟着一个数字 1 还是一个 \\11 的逆向引用。本例中的解决方法是使用 \${1}1 

April1,2003 

*/ 

?>

时间: 2024-08-02 17:40:17

eregi_replace与preg_replace 函数代码的用法比较的相关文章

eregi_replace与preg_replace 函数代码的用法比较_正则表达式

eregi_replace ( string pattern, string replacement, string string ) preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit [, int &count]] ) 以上两个函数基本义定义我知道 但是里面样式或参数的定义我搞不懂 例如以下是UBB与YBB Code的用法 $str = eregi_replace("\\[url]ht

php preg_replace函数基础与实例代码

//preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 主题为匹配搜索模式,替换替换 /* 要搜索的模式.它可以是一个字符串或一个字符串数组. 电子修饰符使preg_replace函数()替代治疗后,适当引用作为参数是php教程代码进行替换.提示:请确保置换构成一个有效的php代码字符串,否则php将抱怨在包含preg_replace函

PHP汉字转换拼音的函数代码_php技巧

本文实例为大家分享了PHP汉字转换拼音的函数代码,供大家参考,具体实现内容如下 <?php /************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|

收集的二十一个实用便利的PHP函数代码_php技巧

PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发者都会有所帮助. 1. PHP可阅读随机字符串 此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能. /***************@length - length of random string (must be a multiple of 2)**********

PHP防注入函数代码总结

为了安全,我们常用到下面的函数来过滤一些传递过来的非法字符: PHP防注入函数  代码如下 复制代码 <?php //要过滤的非法字符 $ArrFiltrate=array("'",";","union","select","delete","'","or","and","="); //出错后要跳转的url,不填则默认前一

python函数装饰器用法实例详解

  本文实例讲述了python函数装饰器用法.分享给大家供大家参考.具体如下: 装饰器经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计, 有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #! coding=u

jquery字符串切割函数substring的用法

 本篇文章主要是对jquery字符串切割函数substring的用法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助    代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> jquery 字符串切割函数substring的用法说明 </TITLE> <META NAME="

PHP中strcmp()和strcasecmp()函数字符串比较用法分析_php技巧

本文实例讲述了PHP中strcmp()和strcasecmp()函数字符串比较用法.分享给大家供大家参考,具体如下: 一.PHP中strcmp()函数用于比较两个字符串(区分大小写),其定义如下: strcmp(string1,string2) 参数说明: string1  必需.规定要比较的第一个字符串. string2  必需.规定要比较的第二个字符串. PS:strcmp()函数与 strncmp() 函数类似,不同的是,strncmp()可以指定每个字符串用于比较的字符数. 二.PHP中

smarty内置函数section的用法_php实例

本文实例讲述了smarty内置函数section的用法.分享给大家供大家参考.具体分析如下: foreach函数可以做到section能做的一切,所以一般都用foreach,这里也详细说下section的用法.section只能遍历索引数组,而不能遍历关联数组. 数组键值按倒序输出实例: 模板文件:temp.htm 复制代码 代码如下: {section name=foo loop=$name step=-1} {$name[foo]} {/section} 参数说明: name为section