php - PHP 和 html 标记的奇怪问题

标签 php html string

我的 html 代码有一个奇怪的问题。

我想添加一个变量 $htmlstring<p>标签。

我愿意

 $finalHtml .= '<p class="text">'.$htmlString.'</p>';

我的 $htmlstring包含类似的东西

<span>texts….</span>
<span>texts….</span>
<span>texts….</span>
<span>texts….</span>
<span>texts….</span>

<table>
    <tr>
       <td>cell</td>
      <td>cell</td>
      <td>cell</td>
     </tr>
    more….
</table>

<span>more texts</span>
<span>more texts</span>

我希望我的结果变成这样

<p class='text'>
     <span>texts….</span>
    <span>texts….</span>
    <span>texts….</span>
    <span>texts….</span>
   <span>texts….</span>

   <table>
     <tr>
        <td>cell</td>
       <td>cell</td>
       <td>cell</td>
      </tr>
      more….
   </table>
   <span>more texts</span>
   <span>more texts</span>
</p>

但是我得到了

//p tag only wraps texts before my table element.
<p class='text'>
     <span>texts….</span>
    <span>texts….</span>
    <span>texts….</span>
    <span>texts….</span>
   <span>texts….</span>
</p>

   <table>
     <tr>
        <td>cell</td>
       <td>cell</td>
       <td>cell</td>
      </tr>
      more….
   </table>
   <span>more texts</span>
   <span>more texts</span>

谁能帮我解决这个奇怪的问题?非常感谢!

最佳答案

那是因为 p 不能容纳 block 元素(table)。

使用 div 代替您的 p段落。

关于php - PHP 和 html 标记的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18665775/

相关文章:

c - 如何将 STDIN 字符串设置为特定字符?

c++ - 如何将 IHTMLDocument2 ->get_body ->get_innerHTML 变成小写字符串?

php - 不支持写入 DatePeriod 属性?

php - 在 Linux 中处理大量文件夹,效率的最佳结构

php - 如何在 codeigniter 中水平显示我的元素

javascript - 如何为一个文本框使用两个 on blur 事件?

php - 数组的特殊工作

javascript onclick 不适用于 P 元素

html - CSS div布局定位

java - 如何替换java String中的字符?