如何在php 中onmouseover 交换图像?

How to onmouseover swap image in php?

我的 wordpress 模板中有这段代码

<a onclick="get_project_data(<?php echo get_the_ID(); ?>)"><img src="<?php echo wp_get_attachment_url( $logoimg_id ); ?>" onmouseover="this.src=\'<?php echo wp_get_attachment_url( $logoimg_id+b ); ?>';" onmouseout="this.src=\'<?php echo wp_get_attachment_url( $logoimg_id ); ?>';"/></a>

但这不起作用,我需要显示全彩色图像和黑白图像,问题是我需要自动执行此操作,所以我会上传到我的服务器 photo.jpg 和 photob.jpg(黑白)css 不是一个选项

谢谢

您在 'this.src' 定义的开头转义了单引号,但没有转义结尾的单引号。不需要转义。 例如。

onmouseover="this.src=\'<php echo wp_get_attachment_url($logoimg_id+b);?>';"

应该是:

onmouseover="this.src='<php echo wp_get_attachment_url($logoimg_id+b);?>';"

首先,您没有正确连接字符串。

$logoimg_id+'b' (notice the quotes)

其次,您需要在扩展名前添加'b'。你可以通过

$imgPath = wp_get_attachment_url( $logoimg_id );
$tmp = explode('.', $imgPath);
$tmp[0].='b';
$imgPath = implode('.',$tmp);

另一种方法是

echo str_replace('.jpg', 'b.jpg', wp_get_attachment_url( $logoimg_id ));

但我不建议这样做