【问题标题】:PHP - Remove rss external image the size from urlPHP - 从 url 中删除大小为大小的 rss 外部图像
【发布时间】:2014-06-21 13:38:14
【问题描述】:

我想在 wordpress 中从通过 RSS 从外部站点抓取的图像的 url 中删除图像大小。此图像是基于 rss 随机生成的,因此必须自动替换或删除字符串。

网址如下所示:

wp-content/uploads/2014/04/10154286_630741873674479_8554167680140056790_n-160x132.jpg 必须从 _n-160x132.jpg 中删除 -160x132 才能获得图像的完整尺寸。

我已经尝试过,但它不起作用:

<?php 
 function remove_url_size( $content ) { 
    $content =
        preg_replace('_n[^>]*.jpg', '_n.jpg', $content);
    return $content;
} 
add_filter( 'the_content', 'remove_url_size' ); 
?>

我再说一遍,它不会只针对一张图像,而是使用相同方法的未知随机图像。

【问题讨论】:

    标签: php image url replace


    【解决方案1】:

    你快到了。您的代码中唯一的问题是您没有传递有效的正则表达式模式,它应该被/s 包围

    <?php 
     function remove_url_size( $content ) { 
        $content =
            preg_replace('/_n[^>]*.jpg/', '_n.jpg', $content);
        return $content;
    } 
    add_filter( 'the_content', 'remove_url_size' ); 
    ?>
    

    【讨论】:

    • 哈哈,超级好用,我想这需要一些斜线,但我没有尝试。非常感谢你:)
    【解决方案2】:

    试试这个:

    $img_link = "wp-content/uploads/2014/04/10154286_630741873674479_8554167680140056790_n-160x132.jpg";
    $new_img_link = preg_replace("/\_n[^\.]*\.jpg/", "_n.jpg", $img_link);
    

    【讨论】:

    • 您的方法仅适用于一张图片。就像我在帖子中所说的那样“我再说一遍,它不仅适用于一张图像,还适用于使用相同方法的未知随机图像。”但是谢谢:P
    • 仅显示单个案例,但您可以交换用于存档全部的变量。
    猜你喜欢
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    相关资源
    最近更新 更多