【问题标题】:What to replace eregi() with? [duplicate]用什么替换eregi()? [复制]
【发布时间】:2017-07-24 23:49:17
【问题描述】:

在这种情况下,eregi() 被替换为什么?

// get value of text inbetween tags
function getContentByTag($tag1, $tag2, $string)
{
    if (eregi("$tag1(.*)$tag2", $string, $out)) {
        $outdata = $out[1];
    }
    return $outdata;
}

此帖子不是重复帖子,因为引用帖子中的第三个示例答案是针对该特定用途的。我猜我的用法有所不同,因为引用的帖子答案对我不起作用。

【问题讨论】:

  • 我最终使用了:function getContentByTag($tag1, $tag2, $string) { if (preg_match("'$tag1(.*?)$tag2'si", $string, $out)) { $outdata = $out[1]; } return $outdata; }
  • 不,假设您的 $tag 包含一个 ' 字符。您将收到与/ 相同的警告/错误。使用preg_match('/' . preg_quote($tag1, '/') . '(.*?)' . preg_quote($tag2, '/') . '/si', $string, $out)
  • 好的。有你@WiktorStribiżew。会试一试。谢谢。

标签: php preg-match eregi


【解决方案1】:

从 PHP 7 开始,您必须将其替换为

preg_match("/$tag1(.*)$tag2/i", $string, $out)

【讨论】:

  • 好吧,现在我收到错误消息:Warning: preg_match() [function.preg-match]: Unknown modifier 'c' in /tracker.php on line 293
  • $tag1 和 $tag2 的值是多少?
猜你喜欢
  • 2020-05-15
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多