我通过“提取”数据从我的数据库中提取数据。数据类型,'功能'是一个排,元素在'功能' row有多行数据。
例如:
同步高清视频和图像录制,地理标记,触摸对焦。
面部和微笑检测。图像稳定,HDR。
PHP
function mf(){
while($row = mysqli_fetch_array($fetching)){
echo $row['Features'];
}
}
Javascript
document.getElementById("idname").innerHTML = "<?php mf(); ?>";
HTML
<div id="idname"> </div>
这里mf函数具有示例中显示的Features行元素。当我尝试执行时,网页中没有输出,如果我删除新行并在一行中写入整个元素就行了,如果它是多行的,那么数据就不会显示在网页中。 请帮帮我!
答案 0 :(得分:0)
因为字符串有换行符,所以JavaScript看起来像这样:
... .innerHTML = "text text
text
text"
哪个JS无效。在PHP中,将换行符替换为<br />
,因此innerHTML
将解析而不是语法错误。
答案 1 :(得分:0)
如果要使用\n
换行符,请更新innerText
属性。如果您坚持使用innerHTML
属性,则必须将\n
个字符替换为HTML中断标记<br />
除非您确定数据可能不包含恶意HTML或不需要输出html标记,否则我建议您使用innerText。
document.getElementById('idname').innerText = "<?php mf(); ?>";
答案 2 :(得分:0)
您可以在javascript中使用<br/>
替换新行。
var str = "<?php mf(); ?>";
str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');
document.getElementById("idname").innerHTML = str;
正则表达式取自: How do I replace all line breaks in a string with <br /> tags?