Ich habe eine HTML-Formularseite (test.php) mit 2 Textareas und einem Absenden-Button. Anstatt den Quellcode zu kopieren, den ich immer formatieren und fest codieren möchte, habe ich den ersten Textbereich erstellt, damit ich den zu reinigenden Code hineinkopieren kann. Dann, wenn Sie auf den Submit-Button klicken, wird das Formular auf die gleiche Seite gestellt und zeigt den aufbereiteten Quelltext im 2. Textbereich an. Das Anzeigen dieses behobenen Quellcodes ist das Problem. Wenn Sie den folgenden Code über HTML ordentlich übergeben und versuchen, die Ausgabe in einem Textfeld anzuzeigen, wird die Ausgabeanzeige unterbrochen. Was ich damit meine ist, wenn Sie bemerken, ich habe </textarea>
innerhalb der folgenden HTML-Code. Sobald Tidy darauf stößt, schließt es den Textbereich und analysiert den Rest der Informationen des Quellcodes, als wäre es ein Teil des HTML-Dokuments, wodurch meine gesamte HTML-Formularseite (test.php) zerstört wird.PHP Tidy: Breaks Textareas
SAMPLE SOURCE CODE, DIE ICH TIDY in HTML AM PASSING:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hi</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<h1 data-title="Hi"> <a href="<?php echo $_SERVER['PHP_SELF']; ?>"> Hi </a> </h1>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<textarea name="comments" id="comments" cols="150" rows="15"><?php echo (isset($_POST['comments']) ? $_POST['comments'] : ''); ?></textarea>
<br>
<input type="submit" name="sbt_process" id="sbt_process" value="Submit">
</form>
<textarea name="css" id="css" cols="150" rows="18"><?php echo (isset($text) ? $text : ''); ?></textarea>
</div><!-- #wrapper -->
</body>
</html>
HTML Tidy Paramter:
$params_body = array(
'break-before-br' => 'no',
'clean' => 'clean',
'doctype' => 'strict',
'drop-empty-paras' => 'yes',
'drop-font-tags' => 'yes',
'force-output' => 'yes',
'indent' => TRUE, //'yes',
'indent-attributes' => FALSE,
'indent-spaces' => 4,
'input-encoding' => 'utf8',
'join-styles' => 'yes',
'literal-attributes' => 'yes', //This option specifies if Tidy should ensure that whitespace characters within attribute values are passed through unchanged.
'logical-emphasis' => 'yes',
'lower-literals' => 'yes',
'merge-divs' => 'no',
'merge-spans' => 'yes',
'output-encoding' => 'ascii',
'output-xhtml' => 'yes',
//'output-xml' => true,
'output-bom' => 'no',
'preserve-entities' => 'yes',
'quiet' => 'yes',
'quote-ampersand' => 'yes',
'quote-marks' => 'no',
'quote-nbsp' => TRUE,
'show-body-only' => FALSE,
'show-errors' => 0,
'show-warnings' => 0,
'sort-attributes' => 'alpha',
'vertical-space' => TRUE, //'yes',
'wrap' => 0, //This option specifies the right margin Tidy uses for line wrapping. Tidy tries to wrap lines so that they do not exceed this length. Set wrap to zero if you want to disable line wrapping.
'wrap-attributes' => FALSE,
'tab-size' => 20, //This option specifies the number of columns that Tidy uses between successive tab stops. It is used to map tabs to spaces when reading the input. Tidy never outputs tabs.
'wrap-php' => 0,
'wrap-script-literals' => TRUE,
'escape-cdata' => TRUE,
'indent-cdata' => TRUE,
'numeric-entities' => FALSE,
'fix-uri' => FALSE,
'markup' => TRUE
);
Ich habe um mit den verschiedenen params von PHP ordentlich durcheinander, aber es ist nutzlos. Ich habe sogar versucht, es als XML auszugeben, aber das hat nicht geholfen. Wie kann ich machen, dass Tidy den gesäuberten Quellcode in der 2. textarea korrekt anzeigt, ohne das </textarea>
Tag des Quellcodes, das ich zu bereinigen versuche, zu zerlegen/zu analysieren?