我希望能够从mysql获取html格式的数据,并将新行变成<br>
或<p>
标签。
我已经能够通过 white-space: pre-wrap
有效地做到这一点在 CSS 中,IE7 及以下版本除外。
我的问题是,如果我在浏览器 <=IE7 的情况下在数据上放置条件 nl2br(),那么它会在 <li>
上创建换行符。标签,已经有换行符,在项目符号之间创建额外的空间。
有更好的方法吗?
我的测试页面是:
我的代码是(此时):
...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<style>
p { white-space:pre-wrap;white-space:-moz-pre-wrap;word-wrap:break-word }
</style>
<body>
<?php
...
$conn = mysql_connect($host, $user, $pw) or die('Error connecting to mysql');
mysql_select_db($db);
mysql_set_charset('utf8', $conn);
$result = mysql_query("SELECT * FROM wp_posts WHERE post_status='publish' AND post_type='post'");
while($row = mysql_fetch_array($result))
{
echo '<h2>'.$row['post_title'].'</h2>';
echo '<p>'.$row['post_content'].'</p>';
}
...
最佳答案
您是否试图绕过 WordPress 的自动段落替换?如果是这样,有一个内置功能适合您 - http://codex.wordpress.org/Function_Reference/wpautop
如果不是这个,那么您能否更具体一点 - 看起来您的测试页面链接没有出现在帖子中?
关于php - Nl2br 对除 <li> 标签之外的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6652174/