2017-01-19 5 views
0

コンテンツをHTMLに埋め込む場合、そのコンテンツのHTMLが埋め込みコンテンツにのみ影響することを確認するにはどうすればよいですか?例えばHTMLタグをDivに制限するにはどうすればよいですか?

<strong>Hello this is a code,<br>,<i>Yeah,... 

私はそのコンテンツを埋め込むと、コンテンツが近いタグなしで開いたタグが含まれているため、コンテンツの後にページ上のすべてのスタイルされます(</strong></i>

どのようにすることができます私はこれらのタグの効果を制限しますか?

コンテンツが中に埋め込まれているページの残りの部分ではなく、私はタグを有するコンテンツを気にしないが、私は彼らが内容だけに影響を与えたい

PHPは、「自動クローズタグ」を許可しますが、私はjQueryやPHPでHTMLをページ上の領域に限定する安全な方法を望んでいます。

+0

文字列はPHPでデータベースに読み込まれます。 –

+0

あなたのコードを見せて、私はページがどのように作成されたのかわかりません。 強いタグ内のすべてのテキストが強くなります。 コードに含めるHTMLタグを選択できる場合は、強いタグを閉じるだけです:強いテキスト tfidelis

答えて

1

HTMLは本質的にdiv内のHTMLタグのみを許可します。これらのタグは常にコンテンツを持つことができます。 HTMLはHTML またはいずれかの生のテキストとしてdivタグ内すべてをレンダリングします、とだけでは認識し何をレンダリングしようとします

<br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span> 

:たとえば、DIVに出力するような何かをしようとすると、有効なHTMLとして

としてそれはDOMにロードされます:それは、ページに表示されます

<div><br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span></div>

:PHPで 'オートクローズタグ' とは

  
  
Malicious <?php include('malicious.php'); /> file! 

私は」あなたを想定し次のような意味です:

<?php 
$fragment = '<p>Opened paragraph <a href="#">opened linked'; 
$tidy = new tidy(); 
$tidy->parseString($fragment,array('show-body-only'=>true),'utf8'); 
$tidy->cleanRepair(); 
echo $tidy; 
?> 

PHPでタグを強制終了すると、彼らは逆の順序でHTMLに正しく出力されます:

<p>Opened paragraph <a href="#">opened linked</a></p> 

・ホープ、このことができます:)

0

をあなたがHTMLやCSSでやりたいことができない - あなたはできる何かをする必要がありますObsidian Ageで指定されている例のように、コンテンツ内のHTMLを解析し、開いているタグまたはユーザーを閉じます。

関連する問題