报价问题报价

时间:2011-06-08 20:30:47

标签: php

我正在尝试创建一个将在我的网站上显示的文本框。显示时,我想在文本框中显示一些数据。这就是我所拥有的

echo "<input type=\"text\" size=\"100\" value=\"<a href=\"$url\"></a>\">";

文本框中显示的所有内容均为<a href= 然后在文本框的末尾,在文本框的后面,我看到">

我知道必须在语法上关闭一些东西,但不确定是什么。

4 个答案:

答案 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=&quote;<?=$url;?>&quote;></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=\"&lt;a href=&quot;$url&quot;&gt;&lt;/a&gt;\">";

echo '<input type="text" size="100" value="&lt;a href=&quot;' . $url . '&quot;&gt;&lt;/a&gt;">';

以获得this jsfiddle中可见的效果。它足够令人满意吗?