How can PHP be used to automate form submissions and retrieve output from external websites?

To automate form submissions and retrieve output from external websites using PHP, you can utilize cURL, a library that allows you to make HTTP requests. With cURL, you can send POST requests to submit forms and retrieve the response from the external website. Additionally, you can use PHP's DOMDocument class to parse the HTML response and extract specific data.

// Initialize cURL session
$ch = curl_init();

// Set cURL options
curl_setopt($ch, CURLOPT_URL, 'http://example.com/form-submit.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
    'username' => 'example_user',
    'password' => 'password123'
)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute cURL session
$response = curl_exec($ch);

// Close cURL session
curl_close($ch);

// Parse HTML response
$dom = new DOMDocument();
$dom->loadHTML($response);

// Extract specific data from the response
$elements = $dom->getElementsByTagName('title');
foreach ($elements as $element) {
    echo $element->nodeValue;
}