2016-03-30 17 views
3

私は初心者ですが、私はペルシア語の文字を含むURLを持っています。例えばHttp 400の悪い要求 - PHPのファイル_get_contents in Persian URL

この:

http://tabnak.ir/fa/news/577155/ویدیوی-درگیری-نیروهای-سیا-و-پنتاگون-در-سوریه-با-همدیگر-ویدیوهایی-از-جنجال-پاسخ-مشایخی-به-مجیدی-و-حرف‌های-عجیب-الویس-پریسلی-ایران 

私はこのコード行で、そのURLのHTMLソースを取得したい:

$source = file_get_contents($url); 

私はこのエラーを取得する:

Warning: file_get_contents(http://tabnak.ir/fa/news/577155/ویدیوی-درگیری-نیروهای-سیا-و-پنتاگون-در-سوریه-با-همدیگر-ویدیوهایی-از-جنجال-پاسخ-مشایخی-به-مجیدی-و-حرف‌های-عجیب-الویس-پریسلی-ایران): 
failed to open stream: HTTP request failed! HTTP/1.0 400 Bad request in C:\wamp\www\file.php on line 25 

私はurlencodeを使ってこの問題を解決したかったが、うまくいかなかった。その行の

urlencode出力は次のようになります。

http%3A%2F%2Ftabnak.ir%2Ffa%2Fnews%2F577155%2F%D9%88%DB%8C%D8%AF%DB%8C%D9%88%DB%8C-%D8%AF%D8%B1%DA%AF%DB%8C%D8%B1%DB%8C-%D9%86%DB%8C%D8%B1%D9%88%D9%87%D8%A7%DB%8C-%D8%B3%DB%8C%D8%A7-%D9%88-%D9%BE%D9%86%D8%AA%D8%A7%DA%AF%D9%88%D9%86-%D8%AF%D8%B1-%D8%B3%D9%88%D8%B1%DB%8C%D9%87-%D8%A8%D8%A7-%D9%87%D9%85%D8%AF%DB%8C%DA%AF%D8%B1-%D9%88%DB%8C%D8%AF%DB%8C%D9%88%D9%87%D8%A7%DB%8C%DB%8C-%D8%A7%D8%B2-%D8%AC%D9%86%D8%AC%D8%A7%D9%84-%D9%BE%D8%A7%D8%B3%D8%AE-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-%D8%A8%D9%87-%D9%85%D8%AC%DB%8C%D8%AF%DB%8C-%D9%88-%D8%AD%D8%B1%D9%81%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%B9%D8%AC%DB%8C%D8%A8-%D8%A7%D9%84%D9%88%DB%8C%D8%B3-%D9%BE%D8%B1%DB%8C%D8%B3%D9%84%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86 

正しいURLアドレスではない、と私はもう一度内容を取得することはできませんどの。

どうすればよいですか?

答えて

1

これを試すことができますか?

多分アラビア文字があるURLの一部を符号化することによって、これを試してみてください。このように、あなたは、エンコードされたURL上のfile_get_contents

$url = 'http://tabnak.ir/fa/news/577155/ویدیوی-درگیری-نیروهای-سیا-و-پنتاگون-در-سوریه-با-همدیگر-ویدیوهایی-از-جنجال-پاسخ-مشایخی-به-مجیدی-و-حرف‌های-عجیب-الویس-پریسلی-ایران'; 
$url = mb_convert_encoding($url, 'HTML-ENTITIES', "UTF-8"); 
$source = file_get_contents($url); 

に(THIS AND WORKSテスト済み)EDITを行うことができるはず

$link = 'http://tabnak.ir/fa/news/577155/ویدیوی-درگیری-نیروهای-سیا-و-پنتاگون-در-سوریه-با-همدیگر-ویدیوهایی-از-جنجال-پاسخ-مشایخی-به-مجیدی-و-حرف‌های-عجیب-الویس-پریسلی-ایران'; 
$exploded = explode('/',$link); 
$exploded[6] = urlencode($exploded[6]); 
$urlimplode = implode($exploded,'/'); 
$source = file_get_contents($urlimplode); 
echo $source; 
+0

**いいえ、**動作しませんでした。エラー: '警告:のfile_get_contents(http://tabnak.ir/fa/news/577155/ و ی د ی و ی - &#1583。 ر گ ی ر ی - ن ی ر و ه ا ی - س ی ا - و - پ ن ت ا گ &#16p;#1583; ی - و - ح ر ف & zwnj; ه ا ی - &#1593 in C:\ wamp \ www \ file.php on 26' – dodojoe

+1

@dodojoe私は自分の答えを編集し、ローカルサーバーでテストしたところ、うまくいきました。 :)あなたはアラビア文字がある部分をurlencodeする必要があります。 – SamyQc

+0

おかげで蜂蜜は、本当に助けた♥♥♥ – dodojoe

関連する問題