WORDPRESS:注意:未定义的偏移量 - 我该怎么办?

时间:2015-01-07 18:25:56

标签: php wordpress

您好,这是我的wordpress页面。每个用户都可以看到它。我该如何解决?

为了安全起见,我用" ..."

替换了实际目录
  

注意:未定义的偏移:1英寸   /.../functions.php   在第163行

     

注意:未定义的偏移:1英寸    /.../functions.php   在第168行

     

注意:未定义的偏移量:3英寸    /.../functions.php   在第169行

     

警告:除以零    /.../functions.php   在第172行

这是我在Functions.php中的代码:

function gal_add_new_height_width($embed){

    $no_prev_match = 0;
    preg_match('/width="(\d+)(px)?" height="(\d+)(px)?"/', $embed, $matches);

    if(!$matches[1]){
        $no_prev_match = 1;
        preg_match('/width: (\d+)px; height: (\d+)px"/', $embed, $matches);
    }

    $width = intval($matches[1]);
    $height = intval($matches[3]);

    $new_width = gal_width() * 3 + gal_gap() * 2;
    $new_height = intval($new_width * $height / $width);

    $embed = preg_replace('/width="(\d+)(px)?" height="(\d+)(px)?"/', 'width="' . $new_width . '" height="' . $new_height . '"', $embed); 
    $embed = preg_replace('%style=".*"%smUi',"",$embed);    
    return $embed;
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

基本上发生的事情是您引用的数组值不存在。它试图在给定的输入中找到字符串匹配,但找不到它。这可能是由于多种原因造成的,我们任何人都无法解决这些问题。

为了正确解决问题,您需要了解此代码的作用以及输入字符串不包含其正在查找的文本的原因。

我犹豫不决,但作为临时解决方法,您可以执行以下操作:

function gal_add_new_height_width($embed){

    $no_prev_match = 0;
    if (preg_match('/width="(\d+)(px)?" height="(\d+)(px)?"/', $embed, $matches)) {

        if(!$matches[1]){
            $no_prev_match = 1;
            preg_match('/width: (\d+)px; height: (\d+)px"/', $embed, $matches);
        }

        $width = intval($matches[1]);
        $height = intval($matches[3]);

        $new_width = gal_width() * 3 + gal_gap() * 2;
        $new_height = intval($new_width * $height / $width);

        $embed = preg_replace('/width="(\d+)(px)?" height="(\d+)(px)?"/', 'width="' . $new_width . '" height="' . $new_height . '"', $embed); 
        $embed = preg_replace('%style=".*"%smUi',"",$embed);
    }    
    return $embed;
}

但请注意,这不会解决您的问题。它只会使此功能无效而不是错误。所以你的wp网站可能会被打破,直到你完全理解为什么。