【问题标题】:Deprecated: Function ereg() is deprecated in Joomla已弃用:函数 ereg() 在 Joomla 中已弃用
【发布时间】:2014-10-14 10:59:39
【问题描述】:

我遇到了一个问题。在我网站的首页上,我收到以下警告:不推荐使用:不推荐使用函数 ereg()。昨天它工作正常。我在谷歌搜索并得到我们必须用“preg_match”替换。我做到了,但问题是一样的。

代码如下:

<?php
/*CSS fixed for some browser*/

$browser=$_SERVER['HTTP_USER_AGENT'];


if(ereg('MSIE 6', $browser)) {
    // hack IE here
    ?>
    <link href="<?php echo JURI::base();?>/templates/crnatoday/templates/template_ie6.css" rel="stylesheet" type="text/css" />
    <?
} else if(ereg('MSIE 7', $browser)) {
    // hack IE here
    ?>
    <link href="<?php echo JURI::base();?>/templates/crnatoday/templates/template_ie7.css" rel="stylesheet" type="text/css" />
    <?
} else if(ereg('Safari/([0-9].[0-9]{1,2})', $browser)){
    // hack safari here
    ?>
    <link href="<?php echo JURI::base();?>/templates/crnatoday/templates/safari.css" rel="stylesheet" type="text/css" />
    <?
} else if(ereg('Firefox/2', $browser) && ereg('Windows', $browser)) {   
    // hack firefox2
    ?>
    <link href="<?php echo JURI::base();?>/templates/crnatoday/templates/firefox2_win.css" rel="stylesheet" type="text/css" />
    <?php
} else if(ereg('Firefox', $browser) && ereg('Mac', $browser)) { 
    // hack firefox2
    ?>
    <link href="<?php echo JURI::base();?>/templates/crnatoday/templates/firefox_mac.css" rel="stylesheet" type="text/css" />
    <?php
} else if(ereg('Mozilla/([0-9].[0-9]{1,2})', $browser)) {
    // hack mozilla here
} else {
    // hack other here
}


?>

请帮忙找出来。

【问题讨论】:

  • 那么,您使用的是哪个 joomla 版本?你在哪里替换了ereg() 它仍然在你的代码中?
  • @andy 我正在使用 Joomla 3.3.3。我在 template.php 中替换了发生错误的地方。
  • 如果您的模板必须为每个浏览器提供单独的自定义 CSS 文件,那么它就是一个制作不佳的模板。我的建议只是删除所有代码并简单地加载 1 个 CSS 文件
  • @bcmcfc 我已经在一个月前将 Joomla 1.5 升级到 Joomla 3.3.3。

标签: php joomla joomla3.3


【解决方案1】:

您的模板是为支持 PHP 4.3.10+ 的 Joomla 1.5 开发的。您的主机,很可能已将服务器 PHP 版本从 5.2 或更低版本升级到 5.3 或更高版本。

如果您的模板必须为每个浏览器提供单独的自定义 CSS 文件,那么它就是一个制作不佳的模板。我的建议只是删除所有代码并简单地加载 1 个 CSS 文件。

如果您真的需要保留这些技巧(希望不是),请查看以下内容,了解如何将 ereg 转换为 preg_match

http://www.devthought.com/2009/06/09/fix-ereg-is-deprecated-errors-in-php-53/

【讨论】:

  • "如果您的模板必须为每个浏览器提供单独的自定义 CSS 文件,那么它是一个制作不佳的模板。" ——不是一个有效的结论。确实像这种情况下广泛针对特定版本的浏览器并不好,但自适应网页设计一直使用浏览器和设备属性检测,只要看看任何主要网站的构建方式。我们最大的客户网站使用自适应和响应属性来为最终用户量身定制体验。
  • @cppl - 也许我的说法有点过头了,甚至措辞不正确,但随着网络标准和技术的快速发展,FF、Chrome、Opera 之类的样式不应该真正分开.我是一个相信让事情保持最新的人(正如您可能已经从我对旧 Joomla 版本的许多咆哮中注意到的那样),所以我认为应该使用后备样式表的唯一一次是如果需要更旧的 IE 版本。模板仍在使用ereg 的事实只是表明,当不同浏览器的单独 CSS 文件可能已成为常态时,它有多老了
猜你喜欢
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 1970-01-01
  • 2013-08-22
  • 2014-02-12
  • 2022-10-22
相关资源
最近更新 更多