Прочитать содержимое тега BODY на PHP
Впрочем, любого другого тега тоже, сам тег из прочитанного исключается, он может иметь любые параметры в открывающей части, не обязан располагаться на одной строке или быть описанным в определенном рЕгИсТрЕ символов... странно, но написание соответствующего регулярного выражения потребовало даже некоторого времени, плюс я и не уверен, что написал действительно хороший RegExp, забывать стал... в общем, пока обошёлся следующим кодом:
$file=file_get_contents ($filename); if (preg_match("#<body[^>]*>(.*?)<\/body>#msi", $file, $matches)) { echo "\n".$matches[1]; } else { include "$filename"; }
Переменная $filename
содержит имя нужного файла, возможно, с путём, например, ./pages/index.html
. Если тега <body>
в файле обнаружить не удалось, включается весь файл директивой include
.
Для подобного действия есть готовый метод tidy_get_body
, но он появился только в PHP 5, мне же хотелось сохранить совместимость с "четвёркой".
30.01.2011, 22:13 [11545 просмотров]