2013-12-18 37 views
-4

我的數據庫表:PHP/MySQL的每一行後面添加<li>前</li>

id content 
1 row1 
    row2 
    row3 
2 id2row1 
    id2row2 

我試着打印與分裂到線(回聲)含量,

我用盡nl2br但顯示在這種方式:

row1<br /> 
row2<br /> 
row3<br /> 

什麼即時試圖做這樣的顯示:

<li>row1</li> 
<li>row2</li> 
<li>row3</li> 

謝謝你的幫助,謝謝。

+1

所以...什麼是你的問題?如果你希望它出現在'

  • '標籤中,那麼只需在它們回顯之前將它們添加到字符串中即可。附: '
  • '只能作爲'
      '的孩子存在。 –

      +0

      顯示您的代碼。 – naththedeveloper

      +1

      我們能否看到你用來回顯查詢結果的循環? – jameslafferty

      回答

      3
      $values = explode(PHP_EOL, $row); 
      foreach($values AS $data){ 
          echo '<li>'.$data.'</li>'; 
      } 
      

      您應該規範化這些數據,這不是正確的方式來存儲它。

      +0

      謝謝,這是工作。 – user3047473

      0

      使用正則表達式,你可以這樣做:

      $content = <<<EOL 
      line 1 
      line 2 
      line3 
      EOL; 
      
      $parsed = "<li>".preg_replace('/(\r\n|\n)/',"</li>$1<li>",$content)."</li>"; 
      echo $parsed; 
      

      輸出:

      <li>line 1</li> 
      <li>line 2</li> 
      <li>line3</li> 
      
      +0

      是不是[this](https://eval.in/80687)更好? –

      +0

      @Glavić不是那種正則表達式很容易閱讀,但男孩是一個滿眼。 –

      相關問題