首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP从引用URL显示标题

PHP从引用URL显示标题
EN

Stack Overflow用户
提问于 2016-04-17 15:07:11
回答 1查看 183关注 0票数 2

我需要显示引用URL中的标题,下面是我用来实现这个目标的代码:

代码语言:javascript
复制
<?php   
if (isset($_SERVER['HTTP_REFERER'])) {
$url_to_load = $_SERVER['HTTP_REFERER'];
$f = file_get_contents($url_to_load);
$p1 = strpos($f, "<title>");//position start
$qe = substr($f, $p1);//string from start position
$p2 = strpos($qe, "</title>");//position end
$query = substr($qe, 7, $p2-2);//cuts from start position +7 (<title>) untill end position -2...
echo $query;}
else{
$ref_url = 'No Reffering URL'; // show failure message
}//end else no referer set
echo "$ref_url";
?>

当我使用具有以下代码的URL访问此代码时:

代码语言:javascript
复制
<title>Title Of Referrer</title>

代码可以工作,但是仍然有结束标记的部分,当我检查源代码时,我将得到以下内容:

代码语言:javascript
复制
Title Of Referrer</tit

我需要更改什么才能完全删除结束标记?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-17 15:16:30

代码语言:javascript
复制
$query = substr($qe, 7, $p2-7);//cuts from start position +7 (<title>) untill end position -2...

你只在结束标题的结尾减去2,但在开始标题上增加7。

试试上面的代码,看看它是否有效。

编辑:

另一个解决办法是这样做。

代码语言:javascript
复制
 $query = strip_tags(substr($qe, 0, $p2));

这将保存所有的标题标记,但随后使用strip_tags()删除它们。

EDIT2:

在我建议的代码中还有一些其他的东西。

代码语言:javascript
复制
$f = file_get_contents($url_to_load);
$query = strip_tags(substr($f, strpos($f, "<title>"),  strpos($f, "</title>")));

这段代码将其简化为两行代码,并且使用的变量较少。您也可以获得$f的ridd,但是它可能对其他东西很有用,而且它只是一个变量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36678250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档