Düzgün endcoding &

2 Cevap php

Benim güncelleme dize & olduğunda Twitter API Benim otomatik çağrı sorunlara neden olur içinde.

Nasıl düzgün benim güncelleme dize $update a & içerdiğini kodlamak yok Ben Twitter apı'sini CURL kullanmadan önce?

// Set username and password for twitter API
    	$username = '***';
    	$password = '***';

    	// The twitter API address
    	$url = 'http://twitter.com/statuses/update.xml';

    	// Alternative JSON version
    	// $url = 'http://twitter.com/statuses/update.json';

    	// Set up and execute the curl process
    	$curl_handle = curl_init();

    	curl_setopt($curl_handle, CURLOPT_URL, "$url");
    	curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10);
    	curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($curl_handle, CURLOPT_POST, 1);
    	curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$update");
    	curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");

    	$buffer = curl_exec($curl_handle);

    	curl_close($curl_handle);

    	// check for success or failure

    	if (empty($buffer)) 
    	{
        	echo 'error?!';
    	}

2 Cevap

İki seçeneğiniz var, urlencode() veya http_build_query() var

// Using urlencode()
$update = 'this & that';
echo "status=" . urlencode( $update );

// Using http_build_query()
$postFields = array(
  'status' => $update
);
echo http_build_query( $postFields );

urlencode() ile çalıştırmak ya da kullanmak http_build_query():

curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=" . urlencode($update));

// or

curl_setopt($curl_handle, CURLOPT_POSTFIELDS, http_build_query(array("status" => $update));