у меня есть вопрос, где даже если заменить пространства на% 20 и получить ссылку на этот материал окончательный URL браузер получает переворачивает «% 20» в «% 2520»file_get_contents с пробелами в URL
Вот мой код , любые предложения, чтобы заставить это работать? это кажется легким, но я застрял:/
<?php
//$_GET['song'] will contain a song name with spaces
$song = str_replace(array("%20", "&", "?" , "/"), array(" ", "", "", ""), $_GET['song']);
// I use this to check how the GET 'song' looks after the str_replace
$list = "http://www.lyrdb.com/lookup.php?q=" . $song . "&for=fullt";
echo "list url is " . $list . "<hr>";
$content = file_get_contents("http://www.lyrdb.com/lookup.php?q=" . str_replace(" ", "%20", $song) . "&for=fullt");
echo $content;
?>
если вы идете в http://webservices.lyrdb.com/lookup.php?q=red%20hot%20chili%20peppers&for=fullt Результат должен вывести список лирических кодов.
Когда я иду на свой сайт /? Song = red hot chili peppers, он тоже преобразует пробелы в% 20, но если кажется, что браузер преобразует% в% 25.
Может кто-нибудь помочь мне?
СПАСИБО ТЕБЯ ЧЕЛОВЕК !!!! (есть a) после первой строки, но кроме этого СПАСИБО! Когда я пытался использовать urlencode и htmlentities вместе, но это вызвало проблемы. Я не могу вас поблагодарить! –
@LearningDaily 'htmlentities' и аналогичные функции должны использоваться, когда вы хотите вывести что-то на страницу с данными, полученными от пользователя. это помогает предотвратить атаки XSS. 'urlencode' необходим для преобразования параметров запроса URL в RFC-стандарт передачи данных методом GET. – Cheery