只在每个帖子的第一张图片上添加属性。php

时间:2018-10-26 作者:k8310

我想使用一个简单的函数向每个博客文章的第一个图像添加一个特定的属性(让我们称之为“示例”),这样我就不必在数千篇文章中手动执行。

不幸的是,我对preg\\u replace不是很好,所以如果有任何帮助,我将不胜感激。

1 个回复
最合适的回答,由SO网友:djboris 整理而成

add_filter( \'the_content\', \'wpse317670_add_img_attribute\' ); 

function wpse317670_add_img_attribute( $content ) { 
    $from = \'/\'.preg_quote(\'<img\', \'/\').\'/\';
    $to = \'<img example="example"\';

    return preg_replace($from, $to, $content, 1);
}
这将添加example="example" 到每个帖子内容中找到的第一个图像。

还有另一种选择,不使用正则表达式(可能更快,占用的内存更少):

add_filter( \'the_content\', \'wpse317670_add_img_attribute\' );

function wpse317670_add_img_attribute( $content ) {
    $from = \'<img\';
    $to   = \'<img example="example"\';

    $pos = strpos( $content, $from );
    if ( $pos !== false ) {
        return substr_replace( $content, $to, $pos, strlen( $from ) );
    }

    return $content;
}

结束

相关推荐

menu customization

我正在我的页面上使用高级主题。该主题在整个站点中只接受一个菜单。该网站是一个单页网站。主题的工作方式是,我们必须建立一个主页,然后使用菜单项来制作网站的各个部分。因此,我创建了一个菜单,其中包含我想要的所有部分,使用我创建的页面已经设置为部分。例如:我有主页、照片、视频等。这些都是单独的页面,但当我将它们作为菜单的一部分时,它们将在一个页面中显示在另一个页面的下方,菜单项将滚动到该页面上的锚定位置。许多主题都是这样工作的。My problem is :我需要翻译菜单或设置另一个页面(不是作为节,而是一个正