简体   繁体   English

PHP和html标记的怪异问题

[英]Weird issue with PHP and html markup

I have a weird issue with my html codes. 我的html代码有一个奇怪的问题。

I want to add the a variable $htmlstring to a <p> tag. 我想将变量$htmlstring添加到<p>标记。

I do 我做

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

My $htmlstring contains something like 我的$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>

I want my result to become like 我希望我的结果变得像

<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>

but i got 但是我得到了

//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>

can anyone help me with this weird issue? 谁能帮我解决这个奇怪的问题? Thanks a lot! 非常感谢!

That's because p can't hold a block element ( table ). 那是因为p不能容纳一个block元素( table )。

Use a div instead of your p aragraph. 使用div ,而不是你的p aragraph。

Have you tried running your code through the validator? 您是否尝试过通过验证器运行代码?

the validator would have told you that you cannot put 验证者会告诉您,您不能放

 <p> <table> ...

or 要么

<table> <p> 

check out: http://validator.w3.org/ 签出: http : //validator.w3.org/

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

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