从WordPress内容中删除文件名的宽度和高度

When you upload an image in WordPress, it usually displays one of the smaller size versions of it in the format imagename-123x456.jpg, where 123x456 is the WIDTHxHEIGHT. I want to filter the content and remove -123x456 from the end of all filenames so that it instead displays the original high resolution images.

I'm thinking something like this:

function replace_content($content) {
    $content = str_replace('-123x456.jpg', '.jpg', $content);
    return $content;
}
add_filter('the_content','replace_content');

But obviously it needs to be more versatile to replace all possible sizes.

P.S. I don't want to have to set the size of the image in the post editor..

To remove from all the images the size in the_content() and support different images extensions you need to use preg_replace like this.

function replace_content($content) {
    $content = preg_replace('/-([^-]*(\d+)x(\d+)\.((?:png|jpeg|jpg|gif|bmp)))"/', '.${4}"', $content);
    return $content;
}
add_filter('the_content','replace_content');