Are there any best practices for handling dynamic HTML content from multiple servers when using file_get_contents in PHP?

When using file_get_contents in PHP to retrieve dynamic HTML content from multiple servers, it is important to handle potential errors and timeouts gracefully. One best practice is to use try-catch blocks to catch any exceptions that may occur during the file retrieval process. Additionally, setting a timeout value for the file_get_contents function can help prevent the script from hanging indefinitely if a server is unresponsive.

<?php
$urls = array(
    'http://example.com/page1',
    'http://example.net/page2',
    'http://example.org/page3'
);

foreach ($urls as $url) {
    try {
        $html = file_get_contents($url, false, stream_context_create(array(
            'http' => array(
                'timeout' => 10 // timeout in seconds
            )
        )));
        
        // Process the retrieved HTML content here
        echo $html;
    } catch (Exception $e) {
        // Handle any errors or exceptions that occurred during the file retrieval process
        echo 'Error retrieving content from ' . $url . ': ' . $e->getMessage();
    }
}
?>