ereg_replace
(PHP 3, PHP 4, PHP 5)ereg_replace -- 正则表达式替换
说明
string ereg_replace ( string pattern, string replacement, string string )
本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。 返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。) 如果 pattern 包含有括号内的子串,则 replacement 可以包含形如 \\digit 的子串,这些子串将被替换为数字表示的的第几个括号内的子串;\\0 则包含了字符串的整个内容。最多可以用九个子串。括号可以嵌套,此情形下以左圆括号来计算顺序。 如果未在 string 中找到匹配项,则 string 将原样返回。 例如,下面的代码片断输出 "This was a test" 三次: 例子 1. ereg_replace() 例子<?php
$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);
?>
要注意的一点是如果在 replacement 参数中使用了整数值,则可能得不到所期望的结果。这是因为 ereg_replace() 将把数字作为字符的序列值来解释并应用之。例如: 例子 2. ereg_replace() 例子<?php
/* 不能产生出期望的结果 */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has words.' *//* 本例工作正常 */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has 4 words.' */
?>
例子 3. 将 URL 替换为超连接<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", $text);
?>
(PHP 3, PHP 4, PHP 5)ereg_replace -- 正则表达式替换
说明
string ereg_replace ( string pattern, string replacement, string string )
本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。 返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。) 如果 pattern 包含有括号内的子串,则 replacement 可以包含形如 \\digit 的子串,这些子串将被替换为数字表示的的第几个括号内的子串;\\0 则包含了字符串的整个内容。最多可以用九个子串。括号可以嵌套,此情形下以左圆括号来计算顺序。 如果未在 string 中找到匹配项,则 string 将原样返回。 例如,下面的代码片断输出 "This was a test" 三次: 例子 1. ereg_replace() 例子<?php
$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);
?>
要注意的一点是如果在 replacement 参数中使用了整数值,则可能得不到所期望的结果。这是因为 ereg_replace() 将把数字作为字符的序列值来解释并应用之。例如: 例子 2. ereg_replace() 例子<?php
/* 不能产生出期望的结果 */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has words.' *//* 本例工作正常 */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has 4 words.' */
?>
例子 3. 将 URL 替换为超连接<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", $text);
?>
$ar=explode('$',$str);
$str="";
for($i=0;$i<count($ar);){
$str.=$ar[$i];
$i+=2;
}
echo $str;
$modden="^\$[a-zA-Z_]+\$$";可是我始终不能 使$作为结束符。
echo preg_replace('/\$(.*?)\$/is','',$str);
then it include some characters or whitespace characters(.*)
and we want to replace all of the substrings(.*?)
finally the end '$'(\$)
if you have questions,you can use google to learn more.
结果和我
$modden="^\$[a-zA-Z_]+\$$"; 效果是一样的
echo preg_replace('/\$(.*?)\$/is','',$str)."<br>";//mine
echo preg_replace('/^\$[a-zA-Z_]+\$$/','',$str);//yours
the result:asdfghhhhfeeejkjkljljlj hfjdskahf fhdaskfhjj
asdfghhhhfeee$qqq$jkjkljljlj hfjdskahf $ppp$fhdaskfhjj
我那个 $str后面的字符是“”(双引号) 。你的是‘’(单引号)
我想问一下这样有什么不同吗?
你要用“”(双引号) ,保证不正确。这其中有什么原因吗??
正解
zeroleonhart(Strong Point:Algorithm) ( ) 信誉:100
是对的。
但是我说的
=====================================
我那个 $str后面的字符是“”(双引号) 。你的是‘’(单引号)
我想问一下这样有什么不同吗?
你要用“”(双引号) ,保证不正确。这其中有什么原因吗??
=====================================这个我还不明白啊??
when you use '$' in your re,you'd better use '' .
$a=3;
echo "\$a"."<br>".$a."<br>".'\$a';it will output:
$a
3
\$a
can you see:
http://community.csdn.net/Expert/topic/4889/4889507.xml?temp=.2494013thanks!