ereg_replace
(PHP3 , PHP4)
ereg_replace --- 正规表达比对取代
语法 :
string ereg_replace
(string pattern, string replacement, string string)说明 :
此函数扫描string来和pattern比对,然后以replacement来取代比对到的文字。
此函数传回修改过的字符串,如果比对不到则传回原来的字符串。
如果pattern包含括弧的部份字符串,则replacement可以包含" \\数字"的部份字符串,这将会以第几个括弧内的部份字符串来替代。\\0将会产生整个字符串的内容,最多可使用到九个部份字符串,这种情况下它会以开启的括弧来计算。
如果在string中找不到比对,则将会传回未改变的字符串string。
以下的范例会将字符串切断,并显示三次 "This was a test" :
<?php
$string = "This is a test";
echo ereg_replace (" is", " was", $string);
echo ereg_replace ("( )is", "\\1was", $string);
echo ereg_replace ("(( )is)", "\\2was", $string);
?>
有一个地方需要去注意的是,如果你在参数replacement中使用整数值的时候,你可能无法取得到结果,这是因为ereg_replace( )将会把数字解释成字元的顺序(ordinal)值,并且执行它,例如 :
<?php
/* This will not work as expected. */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has words.' */
/* This will work. */ $num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Output: 'This string has 4 words.' */
?>
参考 : ereg( ) eregi( ) eregi_replace( )