我花了很长时间努力地寻找这样做的答案&什么都没想出来。我知道这里有人会有答案的。
首先,我获取URL并从开始抓取子网站:
<?php
// get page URL
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
// get host name from URL
$url = preg_replace('(https?://)', '', $pageURL);
$affUrl = explode('.', $url);
$aff = $affUrl[0];
?>如果URL为affiliate1.domain.com,则返回affiliate1为$aff。
接下来,我在每一行上都有一个不同名称的affiliates.txt:
affiliate1
affiliate2
affiliate-3 (yes, this is correct)然后,我将该文件读入数组中:
<?php
// read affiliates.txt and create array
$affs = file("affiliates.txt");
// search for affiliate in array
$inarray = array_search($aff, $affs); // i've tried in_array() also
if ($inarray !== false) echo '<img src="affiliatelogos/$aff.jpg" class="aff-img" alt="$aff" />';
?>然而,即使我硬编码一个附属公司的名称到array_search()
$inarray = array_search('affiliate1', $affs);它什么也不回。,我在这里做错什么了?
发布于 2011-08-06 18:39:11
每一行都包含一个换行符,您可以通过向"file“函数提供一个标志来忽略它们:
$affs = file('affiliates.txt', FILE_IGNORE_NEW_LINES);发布于 2011-08-06 18:39:05
尝试微调数组中的所有值,以删除尾随空格和新行字符。这是最简单的方法:
array_walk($affs, create_function('&$val', '$val = trim($val);')); https://stackoverflow.com/questions/6968812
复制相似问题