0

我希望能够从 mysql 获取 html 格式的数据,并将新行转换为<br><p>标记。

我已经能够white-space: pre-wrap在 CSS 中有效地做到这一点,除了 IE7 及以下版本。

我的问题是,如果我在浏览器 <= IE7 的情况下在数据上放置一个条件 nl2br(),那么它会在<li>标签上创建换行符,这些标签已经有换行符,从而在项目符号之间创建额外的空间。

有一个更好的方法吗?

我的测试页面是:

http://logblog.net84.net/

我的代码是(此时):

...
        <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>';
          }
    ...
4

1 回答 1

2

您是否正在尝试绕过 WordPress 的自动段落替换?如果是这样,有一个内置功能适合您 - http://codex.wordpress.org/Function_Reference/wpautop

如果不是这样,那么您能否更具体一点 - 看起来您的测试页面链接在帖子中没有通过?

于 2011-07-11T15:25:41.277 回答