找到ereg函数的两个替代方案

时间:2010-04-03 15:53:38

标签: php posix-ere

ereg和eregi功能将从Php中删除。请帮助找到以下ereg函数的替代方法:

1)仅允许特定范围的IP地址:

$targetAddr = "60.37..*..*";  
if (!ereg($targetAddr, $_SERVER['REMOTE_ADDR'])) {
die;
} 

2)替换.......................

等系列点
$message = ereg_replace("[.]{3,}", "... ", $message);

2 个答案:

答案 0 :(得分:3)

只需使用preg_matchpreg_replace即可。这些正则表达式将与Perl正则表达式语法一样。

然而,应该写第一个正则表达式

$targetAddr = "60[.]37[.].*[.].*";

如果它应该做你应该做的事情。 (或者,使用反斜杠。)

答案 1 :(得分:1)

这对我有用:

$targetAddr = "/^60\.37\..+/"; 
if (!preg_match($targetAddr, $_SERVER['REMOTE_ADDR'])) {
die;
}

$message = preg_replace("/[.]{3,}/", "... ", $message);

Thomas和Anomareh,您的回答帮助我找到了正确的解决方案。谢谢。