如何onmouseover交换图像在PHP?

I have this code in my wordpress template

<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>

But it doesn't work, I need to show a full colour image and a black and white with on over, the thing is that I need to do this automatically so I will upload to my server photo.jpg and photob.jpg (black and white) css is not an option.

Thank you

First of all, you are not concatenating the strings correctly.

$logoimg_id+'b' (notice the quotes)

Secondly, you need to add the 'b' before the extension. You can do that by

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

Another way would be to do a

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

But I would not advise it

You have escaped the single quote at the start of the 'this.src' definition but not at the end. the escaping is not required. eg.

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

should be:

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