【问题标题】:How do I display paragraphs in mysql?如何在mysql中显示段落?
【发布时间】:2023-12-08 10:26:01
【问题描述】:

好的,所以我有一个数据库并正在填充一个表。我通过 php 页面使用 $sqlCommand 连接和填充没有问题。

我的问题是我的一个领域有内容块/段落。我需要显示段落,但 nl2br() 不起作用。

以下是我的填充方式 (site.com/xtblcreate.php):

// Create table1 in db x for storing words
 $sqlCommand = "CREATE TABLE table1 (
           id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
           a TEXT,
           b TEXT,
           c TEXT,
           d TEXT,
   page_views INT NOT NULL default '0',
           FULLTEXT (a,b,c,d)
           ) ENGINE=MyISAM";
  $query = mysql_query($sqlCommand) or die(mysql_error());
  echo "<h3>Success creating table1 in db x</h3>";

   // Insert dummy data into the table1 in db x
   $sqlCommand = "INSERT INTO table1 (a,b,c,d) VALUES
          ('something', 'something else', 'a lot \n of info', 'quick conclusion' )"; 

我需要将“大量信息”分成两段。

然后在自己的php页面(site.com/x.php)上查询:

 $search_output .= "$count result(s) for <strong>$searchquery</strong><br />";
 while($row = mysql_fetch_array($query)){
        $id = $row["id"];
        $a = $row["a"];
        $b = $row["b"];
        $c = $row["c"];
        $d = $row["d"];

    $search_output .= "*<br>$a- <br/><b>c: </b>$c<br /> <br /> b: $b<br />finally, d:      $d<br/>";  
echo nl2br($c);
  //output $c with paragraphs

放轻松,因为我是新手。

【问题讨论】:

    标签: php mysql line break paragraph


    【解决方案1】:

    在 PHP 中使用单引号时不会处理转义序列,例如 \n

    如果您将查询更改为:

    $sqlCommand = "INSERT INTO table1 (a,b,c,d) VALUES
          ('something', 'something else', \"a lot \n of info\", 'quick conclusion' )"; 
    

    然后我怀疑nl2br() 会产生你想要的输出。

    【讨论】:

    • 但是 nl2br() 用于正确的区域(在进程的查询部分而不是在表格填充页面中)?另外由于我使用的是完整的句子,“”会影响句号的处理吗?我不熟悉“”
    • nl2br 用于右侧区域,但数据没有插入任何换行符,因为转义符没有变成实际的换行符。在继续之前,您应该阅读this page
    • 该页面中需要处理很多内容。但是根据php手册,双引号应该可以解决问题。我理解正确吗?
    • 是的,因为\n 在单引号中时不会变成换行符,如您的帖子中所示。将该字符串放在双引号中会将\n 转换为换行符,然后有必要将\"string\" 之类的引号转义,因为字符串本身在双引号内。现在要阅读的该页面的主要部分是single quotesdouble quotes
    • 非常感谢...将不得不试一试...我如何投票给您?大声笑(刚刚习惯了这个网站!)