The the_content WordPress PHP filter allows you to modify the post content after it’s retrieved from the database and before it’s displayed on the screen.
Usage
add_filter('the_content', 'your_custom_function');
function your_custom_function($content) {
    // your custom code here
    return $content;
}
Parameters
$content(string): The content of the current post.
More information
See WordPress Developer Resources: the_content
Always use is_singular(), in_the_loop(), and is_main_query() conditionals to avoid unintentionally filtering content in custom loops.
Examples
Append a custom text to the end of each post
This code appends “Thank you for reading!” to the end of each post.
add_filter('the_content', 'append_custom_text');
function append_custom_text($content) {
    if (is_singular('post') && in_the_loop() && is_main_query()) {
        $content .= '<p><strong>Thank you for reading!</strong></p>';
    }
    return $content;
}
Add social sharing buttons to the bottom of a post
This code adds social sharing buttons below the post content.
add_filter('the_content', 'add_social_sharing_buttons');
function add_social_sharing_buttons($content) {
    if (is_singular('post') && in_the_loop() && is_main_query()) {
        $sharing_buttons = '<div class="social-sharing-buttons">...</div>';
        $content .= $sharing_buttons;
    }
    return $content;
}
Display an ad after the second paragraph
This code inserts an ad after the second paragraph of each post.
add_filter('the_content', 'insert_ad_after_second_paragraph');
function insert_ad_after_second_paragraph($content) {
    if (is_singular('post') && in_the_loop() && is_main_query()) {
        $ad_code = '<div class="ad-placeholder">...</div>';
        $content = preg_replace('/(<p>.*<\/p>){2}/', '$0' . $ad_code, $content);
    }
    return $content;
}
Wrap images with a custom class
This code wraps all images in the post content with a custom class called “my-custom-image-class”.
add_filter('the_content', 'wrap_images_with_custom_class');
function wrap_images_with_custom_class($content) {
    if (is_singular() && in_the_loop() && is_main_query()) {
        $content = preg_replace('/<img([^>]+)>/', '<div class="my-custom-image-class"><img$1></div>', $content);
    }
    return $content;
}
Remove all shortcodes from the post content
This code removes all shortcodes from the post content before it’s displayed.
add_filter('the_content', 'remove_all_shortcodes');
function remove_all_shortcodes($content) {
    if (is_singular() && in_the_loop() && is_main_query()) {
        $content = strip_shortcodes($content);
    }
    return $content;
}