1

ereg 和 eregi 函数将从 PHP 中删除。请帮助寻找以下 ereg 功能的替代品:

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

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

2)替换一系列点,如............

$message = ereg_replace("[.]{3,}", "... ", $message);
4

2 回答 2

3

只需使用preg_matchpreg_replace。这些正则表达式与 Perl 正则表达式语法相同。

但是,第一个正则表达式可能应该写成

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

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

于 2010-04-03T15:55:56.940 回答
1

This works for me:

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

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

Thomas and Anomareh, your answers helped me to find the right solution. Thank you.

于 2010-04-03T22:24:44.373 回答