如何使用PHP创建动态页面标题

如何使用PHP创建动态页面标题,php,dynamic,title,Php,Dynamic,Title,嗨,我想知道是否有人可以帮助解决这个PHP问题 是否可以使用H2标记中的文本并使用它动态填充页面标题 我还希望能够使用相同的技术将H2文本添加到元描述中-有人能帮忙吗?这听起来像是jQuery擅长的事情: <script type='text/javascript' src='jquery-1.4-min.js'></script> <script type="text/javascript"> $(document).ready(function()

嗨,我想知道是否有人可以帮助解决这个PHP问题

是否可以使用H2标记中的文本并使用它动态填充页面标题


我还希望能够使用相同的技术将H2文本添加到元描述中-有人能帮忙吗?

这听起来像是jQuery擅长的事情:

<script type='text/javascript' src='jquery-1.4-min.js'></script>
<script type="text/javascript">
    $(document).ready(function() {
        document.title = $('h2:first').text();
    });
</script>

$(文档).ready(函数(){
document.title=$('h2:first').text();
});
要修改元数据,您需要做更多相同的工作。我强烈推荐使用jQuery作为深入了解jQuery的一种奇妙方式

<html>
<head>
<meta description="" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('meta:first').attr('description', $('h2:first').text());
        alert($('meta:first').attr('description'));
    });
</script>
</head>
<body>
<h2>Testing 123</h2>
</body>
</html>

$(文档).ready(函数(){
$('meta:first').attr('description',$('h2:first').text());
警报($('meta:first').attr('description'));
});
测试123

如果h2文本是动态生成的,那么网页的其他部分也可以动态创建。例如,如果您有一个变量$a=“我的文本”



使用此技术,您可以定义网页其他部分的文本。

任何人都可以寻找一种更具动态性的方法,该方法可以同时执行元和标题,并使用一些回退:

<script type="text/javascript">
$(document).ready(function() {
    $title = '';
    if($('h1:first').text() != '')
    {
        $title = $('h1:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('h2:first').text() != ''){
        $title = $('h2:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('h3:first').text() != ''){
        $title = $('h3:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('.panel-heading:first').text() != ''){
        $title = $('.panel-heading:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    }
});
</script>

$(文档).ready(函数(){
$title='';
如果($('h1:first').text()!='')
{
$title=$('h1:first').text();
document.title=document.title+“|”+$title;
$('meta:first').attr('content',$title);
}else if($('h2:first').text()!=''){
$title=$('h2:first').text();
document.title=document.title+“|”+$title;
$('meta:first').attr('content',$title);
}else if($('h3:first').text()!=''){
$title=$('h3:first').text();
document.title=document.title+“|”+$title;
$('meta:first').attr('content',$title);
}else if($('.panel heading:first')。text()!=''){
$title=$('.panel heading:first').text();
document.title=document.title+“|”+$title;
$('meta:first').attr('content',$title);
}
});
这将把生成的标题连接到当前标题的末尾。它还将说明设置为相同的值

您必须将description meta标记作为头中的第一个meta标记,这样才能用于设置description meta。如果不是这样,您可以更改
$('meta:first')
选择器以选择描述元标记

我使用bootstrap,因此第一个面板标题是我的回退案例:
$('.panel heading:first')
,如果当前页面上没有标题标记,请将其更改为表示适当的所需回退


当所有其他操作都失败时,此脚本将保留标题的当前值

H2的文本起源于哪里?它是HTML文件中的静态文本吗?你能控制它吗?嗨,H2标签不是动态创建的。有没有一种方法可以在一些PHP中包装H2标记,这样它就会弹出一个页面标题,并将H2标记中的文本添加到元描述中?@Stephen不完全是这样。您需要在多少页上执行此操作?啊,那么最好的方法之一就是通过jQuery。我相信Jonathan在他的jQuery回答线程中回答了这个问题。(+1)@George Marian我需要手动将此代码添加到大约45页!@Jonathan建议的jQuery技术非常有效。但我还需要一种方法,将H2标记中的相同信息放入元数据描述中。@Stephen理想情况下,您需要的是一个脚本来为您实现自动化,然后您只需手动验证每个文件。Perl非常适合这样做,尽管它也可以在PHP中完成。(明确地说:我说的是一个处理现有html/php文件的脚本。)也就是说,这不是一段微不足道的代码。现在,关于JavaScript/jQuery解决方案,我个人会远离它,特别是因为这似乎是一个SEO练习。我会在服务器端完成这一切,无论是使用PHP还是静态HTML。有没有办法也将H2标记的内容添加到元描述中?只是尝试了一下,效果不错。谢谢仍然需要在元描述中输入相同的信息…谢谢Jonathan的帮助!:)
<script type="text/javascript">
$(document).ready(function() {
    $title = '';
    if($('h1:first').text() != '')
    {
        $title = $('h1:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('h2:first').text() != ''){
        $title = $('h2:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('h3:first').text() != ''){
        $title = $('h3:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    } else if($('.panel-heading:first').text() != ''){
        $title = $('.panel-heading:first').text();
        document.title = document.title + " | " + $title;
        $('meta:first').attr('content', $title);
    }
});
</script>