Я новичок в PHP =) Прямо сейчас я использую PHP включает в себя для моего шаблона сайта. У меня есть мой заголовок, содержащий всю мою <head></head>
информацию. Я хочу написать код, который будет извлекать содержимое тега <h1></h1>
со страницы и выводить его в тег <title></title>
в моем заголовочном файле header.php.
Я получил отсюда PHP Simple HTML DOM Parser: [http://simplehtmldom.sourceforge.net/][1], и нашел код (я забыл, где во всех моих поисках), который выглядит так:
<?php
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$html = file_get_html('http://www.myurl.com/');
foreach($html->find('#content h1') as $element){
echo $element->plaintext;}
?>
Что, я думаю, должно отражать содержимое тега h1? Как я уже сказал, я новичок в PHP и знаю только основы, и я не знаю, знаю ли вообще ООП (пока), поэтому извините, если задаю тупой вопрос.
Похоже, что он получает текущую страницу, затем помещает содержимое тега h1 в переменную $ element, а затем отображает ее. Но ничего не происходит, когда я помещаю это в мою страницу. Может кто-нибудь помочь мне с тем, что я делаю не так? Спасибо за чтение!! =)
РЕДАКТИРОВАТЬ: вот мой HTML
Из файла header.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
/* current page url */
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
<?php include '/home/dreami14/public_html/simplehtmldom/simplehtmldom/simple_html_dom.php' ?>
<title>
<?php
$url = curPageURL();
$html = file_get_html($url);
foreach($html->find('#main h1') as $element){
echo $element->plaintext;}
?></title>
<link rel="stylesheet" type="text/css" href="/stylesheet.css" />
</head>
<body>
Из test.php:
<?php include '/home/dreami14/public_html/design/includes/head.php' ?>
<div id="main">
<h1>This should be the title</h1>
<p>Blah blah</p>
</div>
</body>
</html>
Я не получаю никаких ошибок, но мой <title></title>
пуст.
Изменить, чтобы добавить: также, я повторил $ url в самом документе, так что я знаю, что часть работает