我需要显示引用URL中的标题,下面是我用来实现这个目标的代码:
<?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访问此代码时:
<title>Title Of Referrer</title>代码可以工作,但是仍然有结束标记的部分,当我检查源代码时,我将得到以下内容:
Title Of Referrer</tit我需要更改什么才能完全删除结束标记?
发布于 2016-04-17 15:16:30
$query = substr($qe, 7, $p2-7);//cuts from start position +7 (<title>) untill end position -2...你只在结束标题的结尾减去2,但在开始标题上增加7。
试试上面的代码,看看它是否有效。
编辑:
另一个解决办法是这样做。
$query = strip_tags(substr($qe, 0, $p2));这将保存所有的标题标记,但随后使用strip_tags()删除它们。
EDIT2:
在我建议的代码中还有一些其他的东西。
$f = file_get_contents($url_to_load);
$query = strip_tags(substr($f, strpos($f, "<title>"), strpos($f, "</title>")));这段代码将其简化为两行代码,并且使用的变量较少。您也可以获得$f的ridd,但是它可能对其他东西很有用,而且它只是一个变量。
https://stackoverflow.com/questions/36678250
复制相似问题