我有一个页面,用户可以在HTML文本区输入评论。最近,用户在他们的评论中加入了要点。
下面是用户在HTML文本区域中输入注释的方式,其中带有项目符号:
现在,在保存注释后,下面是注释在数据库中的确切外观:
我在数据库中添加了额外的列,以便清楚地看到有多个条目包含带有项目符号的注释。
在返回数据,然后将注释显示到JQuery数据表单元格中时,注释将完全显示为您在下图中看到的内容:
如果您注意到这张图片,项目符号是段落形式的,而不是像最初在HTML文本区域中输入时那样分隔。
我需要做的是在datatable单元格中出现的每个项目符号后面添加一个换行符,以便它看起来与最初输入的一样。
我不确定是否需要用MySQL来做这件事,但是下面是查询数据库时的样子:
<?php
include("../include/database.php");
$select = "SELECT pk, region, loctype, city, twenty, twenty_comm FROM eqpstatus";
$query = mysqli_query($dbc, $select);
$out = array();
while($row = $query->fetch_assoc())
{
$out[] = $row;
}
echo json_encode($out);
?>
我不确定是否有一种方法可以检查MySQL查询中的要点。
在jQuery方面,下面是如何将数据表返回到页面(尽可能缩短):
var newData = 'process/eqpGuide.php';
$('#example1').DataTable({
"ajax": {
"url": newData,
"type": "POST",
"dataSrc": ''
},
"columns": [
{"data": "region"},
{"data": "loctype"},
{"data": "city"},
{"data": "twenty"},
{"data": "twenty_comm"} // here is where I need to check for bullet points
],
"iDisplayLength": 25,
"order": [[ 1, "desc" ]],
"paging": false,
"scrollY": 550,
"scrollX": true,
"bDestroy": true,
"stateSave": true,
"autoWidth": true
});
因此,为了重申我提到的所有内容,我需要做的所有事情都与数据库的twenty_comm部分有关,即在每个项目符号后面添加一个换行符。我不确定这是否应该或可以在代码的PHP/MySQL部分完成,或者是否可以在datatable中的JQuery端完成。
问题形式是:在PHP/MySQL或jQuery中,如何在项目符号后添加换行符?
发布于 2018-07-24 03:42:28
您可以尝试将preg_split()
与twenty_comm
列一起使用,并添加一个<br />
字符,但不知道它将如何呈现:
$row['twenty_comm'] = addNewLine($row['twenty_comm']);
function addNewLine($string){
$newString = '';
$split= preg_split("/[;,]+/",$string);
foreach($split as $char){
$newString.=$char.'<br />';
}
return $newString;
}
https://stackoverflow.com/questions/51485801
复制相似问题