Ссылка обрывается после цитаты в php - PullRequest
1 голос
/ 24 декабря 2010

Когда у меня есть такая форма -

<form action="t.php" method="get">
    <input type="text" name="test"></input>
    <input type="submit"/>
</form>

Обработано PHP вот так -

<?php
    $t = $_GET["test"];
    echo "<a href='".$t."'>".$t."</a>";
?>

Если я предоставлю форму ввода, как -

Что за форма?

Ссылка обрывается после "Что". Я знаю, что это из-за кавычки, но я не уверен, как обойти это таким образом, чтобы иметь дело с любым количеством одинарных или двойных кавычек.

Есть идеи? Спасибо.

Ответы [ 2 ]

3 голосов
/ 24 декабря 2010
echo "<a href='".urlencode($t)."'>".$t."</a>";

Чтобы играть безопасно, вы должны обслуживать htmlspecialchars, чтобы защитить себя от xss или около того

htmlspecialchars

echo "<a href='".urlencode(htmlspecialchars($t), ENT_QUOTES))."'>".$t."</a>";
_________________^ cater for question mark which not able to convert
0 голосов
/ 24 декабря 2010

Вы также можете использовать addlashes () и stripslashes ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...