php – Convert code – not work

There is a code.

add_filter( 'the_content', 'adding_image_dimensions' );

function adding_image_dimensions( $content ) {

    preg_match_all( '/<img(^>)+>/i', $content, $images);

    if (count($images) < 1)
        return $content;

foreach ($images(0) as $image) {
    preg_match_all( '/(alt|title|src|width|class|id|height)=("(^")*")/i', $image, $img );

    if ( !in_array( 'src', $img(1) ) )
        continue;

    if ( !in_array( 'width', $img(1) ) || !in_array( 'height', $img(1) ) ) {
        $src = $img(2)( array_search('src', $img(1)) );
        $alt = in_array( 'alt', $img(1) ) ? ' alt=' . $img(2)( array_search('alt', $img(1)) ) : '';
        $title = in_array( 'title', $img(1) ) ? ' title=' . $img(2)( array_search('title', $img(1)) ) : '';
        $class = in_array( 'class', $img(1) ) ? ' class=' . $img(2)( array_search('class', $img(1)) ) : '';
        $id = in_array( 'id', $img(1) ) ? ' id=' . $img(2)( array_search('id', $img(1)) ) : '';

        list( $width, $height, $type, $attr ) = getimagesize( str_replace( """, "" , $src ) );
        $html = '';

        if (($width != 0) || ($height != 0)) {
            $html = ' width="%d" height="%d" ';
        }

        $image_tag = sprintf( '<img loading="lazy" src=%s%s%s%s%s' . $html . '/>', $src, $alt, $title, $class, $id, $width, $height );
        $content = str_replace($image, $image_tag, $content);
    }
}

return $content;
}

I changed it a little. So that everything fits into the database at once, and not constantly generated on the fly.

add_action( 'wp_insert_post_data', 'adding_image_dimensions' );

function adding_image_dimensions( $content ) {

$content = $content('post_content');

    preg_match_all( '/<img(^>)+>/i', $content, $images);

    if (count($images) < 1)
        return $content;

foreach ($images(0) as $image) {...

But the code doesn’t work for some reason 🙁

Im use WordPress 5.7.2, Classic Editor. And in my articles I have a lot of pictures so inscribed.

<a href="https://....jpg" target="_blank" rel="nofollow" title="test title"><img class="test class" alt="test alt" src="https://....jpg"></a>

Sorry for my English.