我正在尝试创建一个将在我的网站上显示的文本框。显示时,我想在文本框中显示一些数据。这就是我所拥有的
echo "<input type=\"text\" size=\"100\" value=\"<a href=\"$url\"></a>\">";
文本框中显示的所有内容均为<a href=
然后在文本框的末尾,在文本框的后面,我看到">
我知道必须在语法上关闭一些东西,但不确定是什么。
答案 0 :(得分:2)
您必须对<
,"
和>
字符进行编码 - 它们不能以这种方式嵌入。使用:
echo '<input type="text" size="100" value="'.htmlspecialchars('<a href="'.$url.'"></a>').'">';
您也可以使用urlencode()
功能 - 查看更适合您的功能。
还有一个提示 - 当字符串包含类似HTML的内容时,使用单引号。这样可以节省您在任何地方添加\"
的费用。
答案 1 :(得分:0)
php_code ?>
<input type="text" size="100" value="<a href="e;<?=$url;?>"e;></a>\">
<?php
php_code
也许这对你有用
答案 2 :(得分:0)
想想html会是什么样子:
<input type="text" size="100" value="<a href="$url"></a>">
^
|
This is where the value attribute ends!
htmlspecialchars
应该解决它。
答案 3 :(得分:0)
你犯了一些错误。您的代码将产生类似的内容(在this jsfiddle中也可见):
<input type="text" size="100" value="<a href="http://www.google.com/"></a>">
相反,你可以使用类似的东西:
echo "<input type=\"text\" size=\"100\" value=\"<a href="$url"></a>\">";
或
echo '<input type="text" size="100" value="<a href="' . $url . '"></a>">';
以获得this jsfiddle中可见的效果。它足够令人满意吗?