2012-04-11 12 views
0

私は非常に奇妙な問題があります:htmlコードの振る舞い

私のサイトエンジンはPHPを使用しています。ページが作成されたとき、私は(broswerのメニュー「ソースのhtmlを参照してください」を使用して)それはHTMLコードのビューと私は、この(私はここでは、コードの唯一の重要な部分を置く)を参照してください:

<div class="main_page_blogs_post2_item1"> 

      <div><p><p> 
    <div class="cblui_image_contaner_" align="center"> 

しかし、本当のHTMLコードをソースコードと異なっを -

<div class="main_page_blogs_post2_item1"> 
<div> 
<p></p> 
<p> </p> 
<div class="cblui_image_contaner_" align="center"> 

iが閉じ</p>タグがhtmlコードとIドールtにautoaddedされていることを意味する理由を知っている:私は放火犯を使用してこのコードを表示するとき、私はこのコードを参照してください。 私はそれがjavascriptだと思ったが、私はJavaScriptを無効にしてページをリロードしようとした。 それはPHPの欠陥だから、ソースコードが正しいです。

UPD: 私は私の場合には2個の開口部<p>タグと2終了</p>タグが<p></p>組み合わせに変換されていること、が分かりました。その他すべて<p>タグは影響を受けていません。

何がありますか?

ありがとう

P.S.悪い英語で申し訳ありません:)

+0

'p'タグはソースコードのように「オープン」のままにしておくことができますが、ブラウザはそれらのタグをファイアバグに反映された閉じタグでオープンしたままにします。何も心配する必要はありません。明確にするために、あなた自身でこれらの 'p'タグを閉じることを検討するかもしれません。 – kontur

+0

彼らは私のコードの後半で閉じます - 私はここにすべての私のコードを置くだけで、あまりにも大きな原因となります。ブラウザはオープンタグとクローズタグの両方を '

'に変更します。ブラウザの終了のように見える私の閉じた '

'タグとautoclose開いている '

'のタグの後に、終了タグが見つかったとき、彼は開始タグを見つけて(オートクローズするので)、この2つに '

' 「

」タグを閉じます。しかし、大丈夫、私はこの方向で検索するでしょう、おそらく奇妙なシンボルがあり、これを行うためにブラウザを強制的に – Dmitry

答えて

2

Firebugはブラウザで実際に生成されたコードを表示します。これは、あなたのサーバーから送信されたhtmlとは異なるかもしれません(修正、少し変更)。

3つの段階があります。

  1. お使いのサーバーのコード
  2. Firebugのが表示されるどのようなブラウザがそれを作る(=あなたが放火魔に何を参照してください)
+0

はい、私はトラブルがステップ3にあると思う(生成されたHTMLは正しいです)。しかし、なぜブラウザが私の '

'タグの2つと '

'タグの2つを '

'の組み合わせに変換するのか理解できません: – Dmitry

+0

HTML標準によれば、Pタグは常に閉じるか、 。 '

SOMETHING

'と

'多分' SOMETHING'の冒頭に奇妙な記号があるSOMETHING

'にそれが変更されました:終了タグ –

+0

は、彼らは私がそのようなコードを持って、閉じています私のPタグをオートクローズするブラウザを強制する部分...私はそれをチェックします – Dmitry

0

生成されたHTML

  • は、ソースが修正されました。つまり、不足しているタグが追加されます。実際のHTMLを見る適切な方法は、あなたのブラウザの「ソースHTMLを見る」です。

  • +0

    私は私の上に本当のhtmlを置く質問 - 2つのオープンPタグがあります。なぜ私はブラウザが開始タグの直後にそれを閉じているのか不十分ではない。 BTW、このPの終了タグも '

    'の組み合わせに変更されます – Dmitry

    0

    オープン<p>タグを持つことは技術的には問題ありませんが、次のブロックタグが発生したときにブラウザが自動的に閉じます。改行を追加するには<br/>タグを使用するか、<p>ノードにテキストを追加してください。

    ブラウザは以下のように入力して対処することができます。このように、あなたのコード

    <div> 
    <p><p> 
    <div> .... 
    

    になる

    <p>Lorem ipsum 
    <p>Foobar text 
    

    そして、それは

    <p>Lorem ipsum</p> 
    <p>Foobar text</p> 
    

    を読んでいるかのようにそれを自動的に解釈します:

    <div> 
    <p></p><p></p> 
    <div> .... 
    

    HTMLのdoctypeを設定し、html/xmlルールを適用してみてください。 htmlエラーを無料にして、the w3c validatorでテストしてください。経験則として、タグを閉じることなく<p>タグを使用せず、他のブロックタグの周りに囲むこともできません。