是否可以插入指向输入文本框的活动链接?
我尝试在 html 的值中使用 <a>
标签,但它不起作用。
<?php $email = "<a href='"example@link.com'">example@link.com </a>"; ?>
<input type="text" id="email" name="email" value="<?php echo $email; ?>">
它只返回没有超链接值的文本。
这里有几件事是错误的...
- 你没有逃脱你的报价。 因此,PHP 无效。
- 您正在尝试将 HTML 放入属性中,这也是无效的。
我能看到这里使用的唯一替代方案是应用了contenteditable="true"
的 HTML 元素。 这使得一个元素(比如说一个<div>
(可以修改它的内容。
<?php $email = "<a href='"example@link.com'">example@link.com </a>"; ?>
<div id="fake-email" contenteditable="true"><?php echo $email; ?></div>
然后,如果您正在制作表单,请参阅此相关问题。
编辑:
如果您正在尝试制作表单,那么这是一个例子:
document.getElementById("form").onsubmit = function(){
document.getElementById("email").value =
document.getElementById("fake-email").innerText || document.getElementById("fake-email").textContent;
}
而您的表单是:
<form action="..." method="..." id="form">
<div id="fake-email" contenteditable="true"></div>
<input type="hidden" id="email" name="email" />
</form>
不,这是不可能的。输入值将始终呈现为纯文本。如果用户不需要编辑链接,我会把它放在输入旁边。
否则,您可能需要查看所见即所得的编辑器。链接到下面最受欢迎的两个。
TinyMCE
CKEditor
在
php 变量中包含引号时,您需要对其进行转义。
<?php $email = "<a href='"example@link.com'">example@link.com </a>"; ?>
使用双引号时需要使用反斜杠。
或者,您可以这样写:
<?php $email = '<a href="example@link.com">example@link.com </a>'; ?>
如果以单引号开头,则无需转义双引号。
我强烈建议您在需要时阅读转义字符。