1
以下代码正在检查页面内的链接,然后尝试处理这些链接并通过返回标题代码来检查它们是否工作。 我基本上需要使用第二个函数中第一个函数的返回值$ links。可能吗?PHP在另一个函数中使用函数的返回值
这里是我的代码
function checkPage ($content){
$textLen = strlen($content);
$links = array();
if ($textLen > 5){
$startPos = 0;
$valid = true;
while ($valid){
$spos = strpos($content,'<a ',$startPos);
if ($spos < $startPos) $valid = false;
$spos = strpos($content,'href',$spos);
$spos = strpos($content,'"',$spos)+1;
$epos = strpos($content,'"',$spos);
$startPos = $epos;
$link = substr($content,$spos,$epos-$spos);
if (strpos($link,'https://') !== false) $links[] = $link;
if (strpos($link,'http://') !== false) $links[] = $link;
}
}
return **$links**;
};
print_r(checkPage($content));
foreach ($links as &$link) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$headers = curl_getinfo($ch);
if(curl_error($ch))
{
echo 'error:' . curl_error($ch);
}
curl_close($ch);
echo $link." returns code ".$headers['http_code']."<br />";
};
'return ** $ links **;'?你的意思是你只是想存储'checkPage()'函数的值?这是PHP101 ...'$ links = checkPage($ content);'。 –
你只需要'$ links = checkPage($ content);'?这看起来是从你的代码中遗失的,但这是非常基本的PHP考虑你已经拥有的。 – iainn
是的,我忘了复制包含一段HTML标记的变量“content”。返回** $ links **;应该在没有星号的情况下显示,因为我试图在页面编辑器中加粗这个词。 – gcerni