The following line will convert string error into a two dimensional array containing the components from the error string for each line. It will match Error, Warning, Info and Access error types. You can then do something useful with the output.
<?php
preg_match_all('/^(?:line (\d+) column (\d+) - )?(\S+): (?:\[((?:\d+\.?){4})]:)
?(.*?)$/m', $tidy->errorBuffer, $tidy_errors, PREG_SET_ORDER);
?>
And a small tip, always run the error messages through htmlentities when outputting to convert the tags in the error to a viewable form.
tidy::$errorBuffer
tidy_get_error_buffer
(PHP 5, PECL tidy >= 0.5.2)
tidy::$errorBuffer -- tidy_get_error_buffer — 指定したドキュメントのパースで発生した警告とエラーを返す
返り値
エラーバッファを文字列で返します。
例
例1 tidy_get_error_buffer() の例
<?php
$html = '<p>paragraph</p>';
$tidy = tidy_parse_string($html);
echo tidy_get_error_buffer($tidy);
/* オブジェクト指向の場合 */
echo $tidy->errorBuffer;
?>
上の例の出力は以下となります。
line 1 column 1 - Warning: missing <!DOCTYPE> declaration line 1 column 1 - Warning: inserting missing 'title' element
参考
- tidy_access_count() - 指定したドキュメントについて発生したTidyアクセシビリティ警告の数を返す
- tidy_error_count() - 指定したドキュメントについて発生した Tidy エラーの数を返す
- tidy_warning_count() - 指定したドキュメントについて発生した Tidy 警告の数を返す
david dot tulloh at infaze dot com dot au
11-May-2005 10:42
