Я выбираю данные из базы данных MySql и делаю следующее
echo "<input type=\"text\" name=\"distadd1\" id=\"distadd1\" class=\"textbox\" value=". urlencode($row['ADD1']). " >";
однако значение отображается следующим образом Department+of+Planning + % 26+Development.
как я удаляю + и %26
Кодировка URL отличается от того, что вы хотите сделать, похоже. Попробуйте изменить кодировку URL на htmlentities, что избавит вас от '+' и &26;, но при этом защитит вас от XSS / инъекции скриптов на ваши веб-страницы.
Example #1 A htmlentities() example
<?php
$str = "A 'quote' is <b>bold</b>";
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
Не добавляйте эти символы в первую очередь. Функция urlencode (), как следует из названия, используется для генерации URL-адресов. Вероятно, вы захотите использовать htmlspecialchars ().
Я пробовал htmlentities, но это просто возвращает первое слово строки.
Ваш HTML недействителен. Вам нужно использовать кавычки, чтобы ваши атрибуты могли содержать пробелы. Сравните:
<input name=user value=foo bar id=foo>
<input name="user" value="foo bar" id="foo">