tidy::repairString

tidy_repair_string

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_stringВосстанавливает строку, используя по возможности конфигурационный файл

Описание

Объектно-ориентированный стиль

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Процедурный стиль

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Восстанавливает полученную строку.

Список параметров

data

Данные для восстановления.

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Информацию о каждом параметре можно найти тут: » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

Возвращаемые значения

Возвращает восстановленную строку.

Примеры

Пример #1 Пример использования функции tidy::repairString()

<?php
ob_start
();
?>

<html>
  <head>
    <title>тест</title>
  </head>
  <body>
    <p>ошибка</i>
  </body>
</html>

<?php

$buffer 
ob_get_clean();
$tidy = new tidy();
$clean $tidy->repairString($buffer);

echo 
$clean;
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>тест</title>
</head>
<body>
<p>ошибка</p>
</body>
</html>

Примечания

Замечание: Необязательные параметры config и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Разбор разметки в файле или URI
  • tidy::parseString() - Разбор документа, хранимого в строке
  • tidy::repairFile() - Воcстанавливает разметку файла и возвращает его в виде строки

Коментарии

You can also use this function to repair xml, for example if stray ampersands etc are breaking it:

<?php
$xml 
tidy_repair_string($xml, array(
   
'output-xml' => true,
   
'input-xml' => true
));
?>
2010-08-23 08:44:26
http://php5.kiev.ua/manual/ru/tidy.repairstring.html
The docs referenced at http://tidy.sourceforge.net/docs/quickref.html above state that the configuration option 'sort-attributes' is an enumeration of 'none' and 'alpha', thereby specifying that strings of either form are the acceptable values.  This may not be the case, however - on my system, the option was not honored until I set it to true.  This may also be the case with other options, so experiment a bit.  The output of tidy::getConfig() may be useful in this regard.
2011-07-16 19:49:59
http://php5.kiev.ua/manual/ru/tidy.repairstring.html
Автор:
Using tidy is very simple to fix a broken ods/odt document
I wrote the following code to be run from command line

<?php
$zip 
= new ZipArchive();
if (
$zip->open($argv[1])) {
 
$fp $zip->getStream('content.xml'); //file inside archive
 
if(!$fp)
    die(
"Error: can't get stream to document file");
 
$stat $zip->statName('content.xml');
 
$buf ""//file buffer
 
ob_start(); //to capture CRC error message
   
while (!feof($fp)) {
     
$buf .= fread($fp2048); 
    }
   
$s ob_get_contents();
 
ob_end_clean();
 
fclose($fp);
 
$zip->close();
 
$config = array(
     
'indent' => true,
     
'clean' => true,
     
'input-xml'  => true,
     
'output-xml' => true,
     
'wrap'       => false
 
);
 
$tidy = new Tidy();
 
$xml $tidy->repairstring($buf$config);
 
$array=split("\n",$xml);
 
$file=tempnam("/tmp","xml");
 
$fp=fopen($file,"rw+");
  foreach (
$array as $key=>$value) {
   
fwrite($fp,trim($value),strlen(trim($value)));
    if (
$key==0) {
     
fwrite($fp,"\n");
    }
  }
 
fclose($fp);
  if (
$zip->open($argv[1]) === TRUE) {
   
$zip->deleteName('content.xml');
   
$zip->addFile($file'content.xml');
   
$zip->close();
    echo 
'recovery complete';
  } else {
    echo 
'recovery failed';
  }
 
unlink($file);
}
?>

save it to a file called fixdoc and invoke as:
php fixdoc yourbrokendoc

for your safety, please work on a copy of your doc.
2017-05-23 13:48:47
http://php5.kiev.ua/manual/ru/tidy.repairstring.html

    Поддержать сайт на родительском проекте КГБ