textarea 正确保存文本,除了此文本的输出:
Lorem Ipsum 只是打印机和文本文件的虚拟文本。Lorem Ipsum 只是打印机和文本文件的虚拟文本。Lorem Ipsum 只是打印机和文本文件的虚拟文本。
新段落。Lorem Ipsum 自 1500 年代以来一直是行业标准的虚拟文本。Lorem Ipsum 只是印刷机和文本文件的虚拟文本。
我这样保存:
Lorem Ipsum 只是打印机和文本文件的虚拟文本。Lorem Ipsum 只是打印机和文本文件的虚拟文本。Lorem Ipsum 只是打印机和文本文件的虚拟文本。新段落。Lorem Ipsum 自 1500 年代以来一直是行业标准的虚拟文本。Lorem Ipsum 只是印刷机和文本文件的虚拟文本。
我希望在渲染时保存段落,$_POST
并实现使文本变为粗体的功能,包括超链接。
<form method="POST" action="" enctype="multipart/form-data">
<div class="form-group">
<input name="user_id" type="hidden" class="form-control" id="user_id" aria-describedby="user_id" value="<?php echo $user_id; ?>" required>
</div>
<div class="form-group">
<input name="title" type="title" class="form-control" id="title" aria-describedby="title" placeholder="The title..." required>
</div>
<div class="form-group">
<textarea placeholder="Question content..." name="body" class="form-control" id="Body" rows="10" required></textarea>
</div>
<div class="form-group">
<button type="submit" id="Qasked" name="Qasked" class="btn btn-primary">Publish</button>
</div>
</form>
我在 Mysql 数据库中的插入代码:
<?php
if(isset($_POST['Qasked'])){
$form = $_POST;
$user_id = test_input($form['user_id']);
$title = test_input($form['title']);
$body = test_input($form['body']);
$product_asks = '0';
$pdo->beginTransaction();
try{
$sql = "INSERT INTO `products` (`user_id`, `product_name`, `product_description`, `product_asks`)
VALUES (?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(
$user_id,
$title,
$body,
$product_asks,
)
);
$pdo->commit();
}
catch(Exception $e){
echo $e->getMessage();
$pdo->rollBack();
}
?>
我试过输入文本<br/>
and <b>Texto</b>
,但它也不起作用,它将所有内容保存为文本。我应用了一个测试输入类,也许这会导致问题:
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
HTML内部
textarea
既不能以粗体形式呈现,也不能以链接形式呈现。我建议将 a与adiv
属性一起使用。contenteditable
true
使用我添加的代码
jQuery
是能够单击 div 内的链接。(在片段中它不会将您定向到页面,它将是空白的)要从 div 中获取文本(带有标签等),您可以使用:
要传递值,
_POST
您可以使用隐藏的输入文本字段,其中保存innerHTML
y 的值是您发送的值:你可以通过在
submit
代码:
我在我的网页中使用了一个表单,从该表单中我可以毫无问题地在 MySQL 数据库中插入带有 html 标记的文本。我几乎每天都这样做。
textarea
在一个文件中,这里调用inicio.php
inicio.php
会启动一个 jQuery,它将表单的全部内容发送到一个名为 here 的帮助文件form-action.php
。jQuery 被告知以 html (dataType: "html"
)格式发送数据form-action.php
获取 jQuery 提交的表单的内容并将其插入到数据库中。一切都对用户透明地完成,无需刷新页面或隐藏或转义内容。
用法基本上是这样的:
主页.php
文本区域所在的文件
start.php 中的 jQuery
home.php 中的 jQuery 代码,不要忘记添加 jQuery 库
注意: jQuery,为了代码清晰,您可以将它放在一个单独的文件中,并将其包含在 start.php 标头中,如下所示:
form-action.php
将在 post 方法中透明地从 Ajax 调用的 php 文件。此处必须连接数据库并插入注意,此php文件必须与
action
form标签中指明的名称和完整路径相同,如果两个文件不在同一目录下,则必须指定。