【问题标题】:Alternative for deprecated PHP function: eregi_replace [duplicate]已弃用的 PHP 函数的替代方法:eregi_replace [重复]
【发布时间】:2010-01-18 09:10:19
【问题描述】:

有人知道已弃用的 eregi_replace 函数的好替代方法吗?

这个片段我需要它:

$pattern = "([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})";
$replace = "<a href=\"mailto:\\1\">\\1</a>";
$text = eregi_replace($pattern, $replace, $text);

谢谢!

【问题讨论】:

    标签: php function deprecated


    【解决方案1】:

    preg_replace

    https://php.net/preg-replace

    $pattern = "/([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})/i";
    $replace = "<a href=\"mailto:\\1\">\\1</a>";
    $text = preg_replace($pattern, $replace, $text);
    

    【讨论】:

    • preg_XXX() 需要使用分隔符。由于 OP 正在寻找 eregi 的替代品(不区分大小写),因此您还应该添加 i 标志(preg_replace('/(...)/i', ...))。
    • 是的,复制/粘贴错误,抱歉,我已将其添加到我的答案中
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2012-01-30
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 2020-07-18
      • 2013-08-22
      相关资源
      最近更新 更多