繁体   English   中英

Nl2br 上的数据除了<li>标签</li>

[英]Nl2br on data except for <li> tags

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

我已经能够使用white-space: pre-wrap ,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>';
          }
    ...

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM