我有以下代码,用于从域名中提取最后一个段:
示例:xkcd.com
应从http://www.xckd.com
<?php
if( isset($_SERVER['HTTP_ORIGIN'])) {
$from = "host origin";
$origin_in = $_SERVER['HTTP_ORIGIN'];
preg_match('/[^.]+\.[^.]+$/', $origin_in, $matches);
$origin_out = $matches[0];
print_r($matches);
} else if($_SERVER['SERVER_NAME']) {
$from = "server name";
$origin_in = $_SERVER['SERVER_NAME'];
preg_match('/[^.]+\.[^.]+$/', $origin_in, $matches);
$origin_out = $matches[0];
}
header("Access-Control-Allow-Origin: *" );
echo "origin input: ". $origin_in. "\n";
echo "origin output: ". $origin_out. "\n";
echo "from: ". $from;
exit();
我已经逐字地发布了我的代码,以便最准确地表示正在处理的内容,因为我不确定哪里出了问题。
我得到的输出是
Array ( [0] => http://xxxx.com ) origin input: http://xxxx.com origin output: http://xxxx.com from: host origin
为什么我的原点输出没有xxxx.com
?
我的代码可与此代码段形成对比,该代码段按预期工作:http://3v4l.org/nNKZn
感谢您的帮助。