2010-07-27 68 views
4

嗨,我想知道是否有人可以帮助解决这个PHP问题。如何使用PHP创建动态页面标题

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

我也希望能够使用相同的技术将H2文本添加到元描述中 - 任何人都可以提供帮助吗?

+3

H2的文本来自哪里?它是HTML文件中的静态文本吗?你有控制它吗? – 2010-07-27 10:06:58

回答

3

这听起来像的东西,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> 

要修改元数据,你会做更多的相同。我强烈建议使用jQuery - Novice to Ninja作为一种使用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> 
+0

有没有办法将H2标签的内容也添加到元描述中? – 2010-07-27 16:06:13

+0

刚刚尝试过这个,它工作的一种享受。谢谢!仍然需要得到相同的信息到meta描述... – 2010-07-27 16:09:46

+0

谢谢乔纳森为你的所有帮助! :) – 2010-08-25 16:41:20

5

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

<?php 
$a = "My Text" 
?> 
<html> 
<head> 
<title><?php echo $a;?></title> 
</head> 
<body> 
<h2><?php echo $a;?></h2> 
</body> 
</html> 

使用这种技术,你可以定义网页的其他部分的文本。

+5

这很好,因为搜索引擎会看到标题。 – Jonathan 2010-07-27 12:03:27

+0

嗨,H2标签不是动态创建的。有没有办法在一些PHP中包装H2标签,因此它会吐出页面标题并将H2标签中的文本添加到元描述中? – 2010-07-27 16:04:30

+0

@Stephen不完全。你需要多少页才能做到这一点? – 2010-07-27 16:11:45

1

为寻找这确实元和标题在同一时间,并使用了一些下跌的背上一个稍微动态方法:

<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> 

这将拼接生成的标题到您当前的标题结束。它还将描述设置为相同的值。

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

我使用引导程序,因此第一个面板标题是我的回退情况:$('.panel-heading:first'),如果当前页面上没有标题标记,则将其更改为表示适当的所需回退。

当所有其他都失败时,此脚本会将您的标题值保留为当前值。