Могу ли я использовать PHP для сохранения только видимых элементов вывода в виде нового файла? - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть php-файл, который берет xml-файл (созданный из внешнего источника) и форматирует его с помощью CSS и HTML.Ряд тегов XML - это то, что я не хочу видеть в финальной версии, поэтому я их скрыл.Конечный результат выглядит примерно так:

<html>
<div style="display: none">
    content i don't want to see
</div>

content I do want to see.

</html>

Есть ли способ взять полученный HTML-файл, отображаемый в окне браузера,

content I do want to see.

… и сохранить его кактекстовый файл?Я хочу, чтобы он игнорировал все скрытые теги <div> и сохранял только то, что в противном случае может быть выбрано и скопировано пользователем.

Я искал ответ на этот вопрос, но даже не уверенчто я ищу или как искать.

Я также пробовал это:

ob_start();
file_put_contents('filename.htm', ob_get_contents());
ob_end_flush();

… но это не решает проблему.У меня есть несколько тегов в выводимом тесте (&gt; и т. Д.), Которые необходимо сохранять при отображении, и ob_get_contents() принимает исходный код страницы, а не отображаемую версию.выводимая страница также является PHP, который был сгенерирован на основе других факторов, поэтому мне нужно использовать html-значения Юникода, чтобы знаки $ и кавычки не испортили исходный PHP.Заранее благодарим за любую помощь или предложения.

1 Ответ

0 голосов
/ 23 ноября 2011

Я думаю, что вы должны удалить ненужную часть вручную, используя что-то из RegEx, например:

$content_raw = ob_get_contents();
$content_stripped = preg_replace($content_raw, '<div style="display: none">[^<>]*</div>', '');
file_put_contents('filename.htm', $content_stripped);
...