PHP 8.4.0 RC4 available for testing

tidy::repairString

tidy_repair_string

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

tidy::repairString -- tidy_repair_stringSeçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır

Açıklama

Nesne yönelimli kullanım

public static tidy::repairString(string $veri, array|string|null $ayarlar = null, ?string $kodlama = null): string|false

Yordamsal kullanım

tidy_repair_string(string $veri, array|string|null $ayarlar = null, ?string $kodlama = null): string|false

Belirtilen veri dizgesini onarır.

Bağımsız Değişkenler

veri

Onarılacak veri.

ayarlar

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

kodlama

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

Dönen Değerler

Onarılan dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 tidy::repairString() artık statik bir yöntem.
8.0.0 ayarlar ve kodlama artık null olabiliyor.
8.0.0 include_path_kullan bağımsız değişkeni kaldırıldı.

Örnekler

Örnek 1 - tidy::repairString() örneği

<?php
ob_start
();
?>

<html>
<head>
<title>deneme</title>
</head>
<body>
<p>hata</i>
</body>
</html>

<?php

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

echo
$clean;
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>deneme</title>
</head>
<body>
<p>hata</p>
</body>
</html>

Ayrıca Bakınız

add a note

User Contributed Notes 3 notes

up
2
gnuffo1 at gmail dot com
14 years ago
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
));
?>
up
1
Romolo
7 years ago
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($fp, 2048);
}
$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.
up
0
dan-dot-hunsaker-at-gmail-dot-com
13 years ago
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.
To Top