我正在尝试从我的mysql数据库中提取一个字符串并使用工作向其添加<br />
标记。但它不起作用,我无法解决为什么
if(mysql_num_rows($res)){
echo '<div id="contents">';
while($row = mysql_fetch_array($res)){
$UserName = $row['UserName'];
$Message = $row['Message'];
$MessageW = wordwrap($Message, 10, "<br />\n");
echo '<div><strong>' .
$UserName . ': </strong>' .
$MessageW . '</div>';
}
echo '</div>';
}
任何人都可以帮助我吗?
答案 0 :(得分:9)
邮件中的所有字词都不可能包含10个字符的长度。默认情况下,PHP不会剪切单词,因此传递true
的第四个参数以强制在单词中间剪切。
此外,您的代码易受XSS攻击。要解决此问题,首先wordwrap
,然后将结果转换为HTML,最后转换换行符:
$MessageW = wordwrap($Message, 10, "\n", true);
$MessageW = htmlentities($MessageW);
$MessageW = nl2br($MessageW);