Я новичок в 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 в самом документе, поэтому я знаю, что эта часть работает