tidy::parseString

tidy_parse_string

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_stringParse a document stored in a string

Beschreibung

Objektorientierter Stil

public tidy::parseString(string $string, array|string|null $config = null, ?string $encoding = null): bool

Prozeduraler Stil

tidy_parse_string(string $string, array|string|null $config = null, ?string $encoding = null): tidy|false

Parses a document stored in a string.

Parameter-Liste

string

The data to be parsed.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, visit » http://api.html-tidy.org/#quick-reference.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Rückgabewerte

tidy::parseString() returns true on success. tidy_parse_string() returns a new tidy instance on success. Both, the method and the function return false on failure.

Changelog

Version Beschreibung
8.0.0 config and encoding are nullable now.

Beispiele

Beispiel #1 tidy::parseString() example

<?php
ob_start
();
?>

<html>
<head>
<title>test</title>
</head>
<body>
<p>error<br>another line</i>
</body>
</html>

<?php

$buffer
= ob_get_clean();
$config = array('indent' => TRUE,
'output-xhtml' => TRUE,
'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo
$tidy;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      another line
    </p>
  </body>
</html>

Siehe auch

add a note

User Contributed Notes 3 notes

up
1
steven at nevvix dot com
7 years ago
<?php/** * Simpler version without pretty print config options. */function tidy_html5($html, array $config = [], $encoding = 'utf8') {    $config += [        'doctype' => '<!DOCTYPE html>',        'drop-empty-elements' => 0,        'new-blocklevel-tags' => 'article aside audio bdi canvas details dialog figcaption figure footer header hgroup main menu menuitem nav section source summary template track video',        'new-empty-tags' => 'command embed keygen source track wbr',        'new-inline-tags' => 'audio command datalist embed keygen mark menuitem meter output progress source time video wbr',        'tidy-mark' => 0,    ];    $html = tidy_parse_string($html, $config, $encoding); // doctype not inserted    tidy_clean_repair($html); // doctype inserted    return $html;}$html = '</z><p><a href="#">Link</a></p><p><img src="logo.png"/>Seçond para</p><i class="fa"></i><p></p>';echo tidy_html5($html);<!DOCTYPE html><html><head><title></title></head><body><p><a href="#">Link</a></p><p><img src="logo.png">Seçond para</p><i class="fa"></i><p></p></body></html>echo tidy_html5($html, ['indent'=>2, 'indent-spaces'=>4]);<!DOCTYPE html><html><head>    <title></title></head><body>    <p><a href="#">Link</a></p>    <p><img src="logo.png">Seçond para</p><i class="fa"></i>    <p></p></body></html>echo tidy_html5($html, ['indent'=>1], 'ascii');<!DOCTYPE html><html>  <head>    <title></title>  </head>  <body>    <p>      <a href="#">Link</a>    </p>    <p>      <img src="logo.png">Se&Atilde;&sect;ond para    </p><i class="fa"></i>    <p></p>  </body></html>echo tidy_html5($html, ['show-body-only'=>1]);<p><a href="#">Link</a></p><p><img src="logo.png">Seçond para</p><i class="fa"></i><p></p>
up
0
gbirch at tech-tamer dot com
1 year ago
The configuration reference for Tidy has moved to https://api.html-tidy.org/
up
0
steven at nevvix dot com
7 years ago
<?php/*** UTF-8 HTML5-compatible Tidy** @param string $html* @param array $config* @param string $encoding* @link http://tidy.sourceforge.net/docs/quickref.html*/function tidy_html5($html, array $config = [], $encoding = 'utf8') {    $config += [        'clean'       => TRUE,        'doctype'     => 'omit',        'indent'      => 2, // auto        'output-html' => TRUE,        'tidy-mark'   => FALSE,        'wrap'        => 0,        // HTML5 tags        'new-blocklevel-tags' => 'article aside audio bdi canvas details dialog figcaption figure footer header hgroup main menu menuitem nav section source summary template track video',        'new-empty-tags' => 'command embed keygen source track wbr',        'new-inline-tags' => 'audio command datalist embed keygen mark menuitem meter output progress source time video wbr',    ];    $html = tidy_parse_string($html, $config, $encoding);    tidy_clean_repair($html);    return '<!DOCTYPE html>' . PHP_EOL . $html;}$html = '</z><p><a href="#">Link</a></p><p>Second para</p>';echo tidy_html5($html);Output:<!DOCTYPE html><html><head>  <title></title></head><body>  <p><a href="#">Link</a></p>  <p>Second para</p></body></html>
To Top