<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SOMETITLE</title>
</head>
<body>
<a href="http://www.facebook.com/sharer.php?u=<?php echo $url ?>&t=XXX">click</a>
</body>
</html>
我想使用php / jQuery获取<title></title>
下的内容并将其放在<a href="http://www.facebook.com/sharer.php?u=<?php echo $url ?>&t=XXX">
的XXX处,该怎么做?
更新了2
<?php
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>
<div id="language">
<ul>
<li class="last">
<span><a id="block-header-facebook" href="http://www.facebook.com/sharer.php?u=<?php echo $url ?>&t=link"><img src="/home/images/icon/facebook.jpg" /></a></span><span><a href="#"><img src="/home/images/icon/twitter.jpg" /></a></span></li>
</ul>
</div>
<script>
$('#block-header-facebook').attr('href').replace("link", "hi");
</script>
谢谢你
答案 0 :(得分:0)
您可以在此页面使用一个简单的功能
答案 1 :(得分:0)
或使用JavaScript:
var link = document.getElementsByTagName("a")[0].href;
link = link.replace(/&t=.+$/, "&t=" + document.title);
document.getElementsByTagName("a")[0].href = link;
答案 2 :(得分:0)
使用jQuery(只需使用id或类更改选择器$(“a”)更具体):
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SOMETITLE</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("a").each(function() {
$(this).attr("href",
$(this).attr("href").replace("XXX", $("html head title").text())
);
});
});
</script>
</head>
<body>
<a href="http://www.facebook.com/sharer.php?u=<?php echo $url ?>&t=XXX">click</a>
</body>
</html>
对于Update 2,更改脚本元素:
<script type="text/javascript">
$('#block-header-facebook').each(function() {
$(this).attr('href', $(this).attr('href').replace("link", document.title));
});
</script>
顺便提一下,我也建议使用Ralph的服务器方法(只有在需要在客户端上进行时才使用此方法)。
添加推荐(参见Ralph评论)
将a-tag和脚本更改为:
<a id="block-header-facebook" href="http://www.facebook.com/sharer.php?u=<?php echo $url ?>">
<script type="text/javascript">
$('#block-header-facebook').each(function() {
$(this).attr('href', $(this).attr('href') + "&t=" + escape(document.title));
});
</script>
不易出错的代码,我也会这样做。
答案 3 :(得分:0)
<?php
$title = 'SOMETITLE';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $title ?></title>
</head>
<body>
<a href="http://www.facebook.com/sharer.php?u=<?php echo $url,'&t=',urlencode($title); ?>">click</a>
</body>
</html>
我认为如果可以,最好在服务器端执行此操作。客户端计算量减少,JS依赖性/跨浏览器问题减少,没有“滞后时间”。
在此示例中不需要Urlencoding,但如果您的标题中包含空格和其他奇怪的字符,则会是这样。