私は、HTML がecho
格納される代わりに出力されるスクリプトを何十個も見つけました。柔軟な性質のために、常にhtmlを文字列に保存するのが一般的に良い習慣なのだろうか?
ランダムな例は、動的サブナビゲーションの html を返す関数があることです。開始 div タグを印刷し、その内容を印刷してから、終了 div タグを個別に印刷しています。
<div id="nav">
<?php echo $nav->getHTML();?>
</div>
ただし、別の と を個別に割り当てるために、リスト項目の量と 内の文字の合計が一定量を超える#nav
かどうかに基づいて、特別なクラスを div に割り当てる必要があります。このために、私はそれをにロードして使用し、いくつかの評価を行う必要があります。$nav->getHTML()
line-height
height
DOMDocument
DOMXpath
html = '<div id="nav">';
html.= $nav->getHTML();
dom = new DOMDocument(); // create a DOM tree
xpath = new DOMXpath($d); // create a DOM Xpath tree
// bunch of DOM querying/manipulation
html.= '</div>';
私は、文字列操作を必要とする将来の要求に対して物事をより柔軟にするために、常にこのようなものを保存するのが最善ではないでしょうか? それとも、私が不必要に心配しすぎているだけですか?それとも、私はこれを間違った方法で行っているので、クラスをリファクタリングして、外側ではなく内側で DOM クエリを実行する必要がありますか?
編集:ul
文字数の制限 (たとえば 200 ) に基づいて複数の行 (これは水平方向のリスト) にまたがるかどうかを判断した後、#nav
アイテムに特別なクラスを追加し、それ以降は CSS でスタイリングを行います。
免責事項: JS にはまったく依存したくありません。私はそれを解決できることを認識していますが、すぐに適切にレンダリングしたいと考えています。