Как открыть URL-адрес с арабским текстом с помощью функции php file-get-contents
Я хочу получить html-код с URL-адреса, содержащего некоторые арабские слова, такие как
http://www.example.com/2013/07/31/الاختبار.html
С использованием php. Я попробовал с
file_get_html("http://www.example.com/2013/07/31/الاختبار.html")
Но это дает следующую ошибку
Warning: file_get_contents(http://www.example.com/2013/07/31/الاختبار.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in filename.php
Пожалуйста, помогите.
http://www.example.com/2013/07/31/الاختبار.html
Только для справки, не существует.
2
1 answers
URL-адреса не могут содержать символы, отличные от ASCII.
Там, где кажется, что они это делают, на самом деле браузер молча преобразует ваши символы в URL-адреса в фоновом режиме.
Когда вы вставляете этот URL-адрес в свой браузер:
http://www.example.com/2013/07/31/الاختبار.html
На самом деле будет выглядеть так:
http://www.example.com/2013/07/31/%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1.html
PHP не имеет возможности автоматически конвертировать символы; вам придется делать это вручную. Для этого
запустите PHP urlencode()
по URL-адресу перед выполнением вызова.
5
Author: Pekka 웃, 2017-05-23 10:25:25