2017-01-19 2 views
0

Wenn ich Inhalte in HTML einbetten möchte, wie kann ich sicherstellen, dass sich HTML in diesem Inhalt nur auf den eingebetteten Inhalt auswirkt?Wie kann ich HTML-Tags auf eine Div beschränken?

Zum Beispiel:

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

Als ich diesen Inhalt einzubetten, alles auf der Seite nach dem Inhalt gestylt werden, da der Inhalt öffnen Tags ohne enge Tags enthält (</strong>, </i>)

Wie kann Ich beschränke die Wirkung dieser Tags?

ich nichts dagegen haben, den Inhalt Tags zu haben, aber ich möchte, dass sie nur den Inhalt beeinflussen, nicht der Rest der Seite wird der Inhalt in eingebettet.

PHP „auto-close-Tags“ ermöglicht, aber Ich möchte einen sicheren Weg in jQuery oder PHP, um HTML auf einen Bereich auf einer Seite zu beschränken.

+0

Die Zeichenfolge wird mit der Datenbank mit PHP geladen. –

+0

Zeigen Sie uns Ihren Code, ich kann nicht wissen, wie die Seite erstellt wird. Der gesamte Text innerhalb des starken Tags wird stark sein. Wenn Sie auswählen können, welche HTML-Tags in Ihrem Code enthalten sein sollen, schließen Sie einfach Ihr starkes Tag: Strong text tfidelis

Antwort

1

HTML von Natur ermöglicht nur HTML-Tags innerhalb eines Div. Diese Tags werden immer Inhalte enthalten können. Zum Beispiel, wenn Sie die Ausgabe in eine div etwas versuchen, wie:

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

Die HTML-alles innerhalb des div Tag entweder als HTML oder Rohtext machen wird, und wird versuchen, nur etwas zu machen, es erkennt als gültiges HTML.

Es wird noch in das DOM geladen, wie:

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

Es wird auf der Seite, wie dargestellt erhalten:

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

von 'auto schließen Tags' in PHP Ich nehme an, Sie‘ re Bedeutung etwas wie:

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

Wenn Sie gewaltsam Ihre Tags in PHP schließen , Werden sie richtig in den HTML-Code in umgekehrter Reihenfolge erhalten ausgegeben:

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

this helps :)

0

Sie können nicht tun, was Sie wollen mit HTML oder CSS - Sie brauchen etwas, das kann Parsen Sie jeden HTML-Code im Inhalt und schließen Sie alle offenen Tags oder Sie, wie das Beispiel von Obsidian Age.

Verwandte Themen