#php #tidy
Вопрос:
Я использую libtidy с php. Я использую xampp, и это показывает, что поддержка tidy включена. Но когда я использую его в своем коде, он показывает следующее предупреждение
repairString() [function.repairString]: Could not load configuration file tidy-file.php
я также попытался использовать объектно-ориентированную версию, но снова получил предупреждение
tidy_repair_string() [function.tidy-repair-string]: Could not load configuration file tidy-file.php
я сохранил аккуратный код в отдельном файле под названием tidy-file.php
. это выглядит так
$options = array("output-xhtml" => true,"clean" => true, "drop-proprietary-attributes" => true,"drop-font-tags" => true,"drop-empty-paras" => true,"hide-comments" => true);
function getXHTML($html)
{
$xhtml=tidy_repair_string($html,$options);
return $xhtml;
}
что может быть не так
Ответ №1:
Из того, что вы показали здесь, следует, что вы пытаетесь использовать переменную, определенную вне функции. Тебе нужно втянуть его внутрь вот так:
function getXHTML($html)
{
$options = array("output-xhtml" => true,"clean" => true, "drop-proprietary-attributes" => true,"drop-font-tags" => true,"drop-empty-paras" => true,"hide-comments" => true);
$xhtml=tidy_repair_string($html,$options);
return $xhtml;
}
Комментарии:
1. Спасибо, это сработало. но функция может получить доступ к глобальным данным, и вот
$options
глобальный массив. тогда почему это не сработало?2. Придерживается ли php других правил области действия, чем c/C
3. @lovesh Да, для того, чтобы глобальная переменная могла использоваться в области функций, вы должны использовать
global
оператор, чтобы ввести ее следующим образом:global $options;
. После этого он будет доступен для функции.