【问题标题】:Find two alternatives for ereg functions找到 ereg 函数的两种替代方案
【发布时间】:2010-04-03 15:53:38
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php posix-ere


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      这对我有用:

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

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

      【讨论】:

      • 如果 Thomas 帮助您找到解决方案,恕我直言,您应该接受他的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多