PHP code example of paslandau / guzzle-auto-charset-encoding-subscriber

1. Go to this page and download the library: Download paslandau/guzzle-auto-charset-encoding-subscriber library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

paslandau / guzzle-auto-charset-encoding-subscriber example snippets



    $client = new Client();
    $converter = new EncodingConverter("utf-8"); // define desired output encoding
    $sub = new GuzzleAutoCharsetEncodingSubscriber($converter);
    $url = "http://www.myseosolution.de/scripts/encoding-test.php?enc=iso"; // request website with iso-8859-1 encoding
    $req = $client->createRequest("GET", $url);
    $req->getEmitter()->attach($sub);
    $resp = $client->send($req);


    


    $client = new Client();
    $converter = new EncodingConverter("utf-8",true,true); // define desired output encoding
    $sub = new GuzzleAutoCharsetEncodingSubscriber($converter);
    $url = "http://www.myseosolution.de/scripts/encoding-test.php?enc=iso";

    $tests = [
        "Using unmodified Guzzle request" => null,
        "Using guzzle-auto-charset-encoding-subscriber" => $sub,
    ];
    foreach($tests as $name => $subscriber) {
        $req = $client->createRequest("GET", $url);
        if($subscriber !== null) {
            $req->getEmitter()->attach($sub);
        }
        $resp = $client->send($req);
        echo "    $name\n";
        echo "    Request to $url:\n";
        echo "    Content-Type: " . $resp->getHeader("content-type") . "\n\n";
        echo $resp->getBody()."\n\n";
    }


    $client = new Client();
    $replaceHeaders = false; // prevent the replacement of the content-type header
    $converter = new EncodingConverter("utf-8",$replaceHeaders);
    $sub = new GuzzleAutoCharsetEncodingSubscriber($converter);
    $url = "http://www.myseosolution.de/scripts/encoding-test.php?enc=iso";
    $req = $client->createRequest("GET", $url);
    $req->getEmitter()->attach($sub);
    $resp = $client->send($req);


    $client = new Client();
    $replaceHeaders = null; // default
    $replaceContent = true; // force the replacement of the meta tags within the content
    $converter = new EncodingConverter("utf-8",$replaceHeaders, $replaceContent);
    $sub = new GuzzleAutoCharsetEncodingSubscriber($converter);
    $url = "http://www.myseosolution.de/scripts/encoding-test.php?enc=iso";
    $req = $client->createRequest("GET", $url);
    $req->getEmitter()->attach($sub);
    $resp = $client->send($req);


    $client = new Client();
    $replaceHeaders = null; // default
    $replaceContent = null; // default
    $fixedInputEncoding = "iso-8859-1"; // assume "iso-8859-1" as default encoding
    $converter = new EncodingConverter("utf-8",$replaceHeaders, $replaceContent,$fixedInputEncoding);
    $sub = new GuzzleAutoCharsetEncodingSubscriber($converter);
    $url = "http://www.myseosolution.de/scripts/encoding-test.php?enc=iso&header=false&meta=false"; // hide charset from header and meta tags
    $req = $client->createRequest("GET", $url);
    $req->getEmitter()->attach($sub);
    $resp = $client->send($req);