Der folgende Code prüft auf Links innerhalb einer Seite und versucht dann, diese Links zu verarbeiten und zu überprüfen, ob sie funktionieren oder nicht, indem ein Header-Code zurückgegeben wird. Ich brauche im Grunde die zurückgegebenen Wert $ Links der ersten Funktion in der zweiten. ist es möglich?PHP Rückgabewert einer Funktion in einer anderen Funktion verwenden
hier ist mein Code
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 **;'? Meinst du, dass du einfach den Wert aus der 'checkPage()' Funktion speichern willst? Das ist PHP101 ... '$ links = checkPage ($ content);'. –
Benötigen Sie nur '$ links = checkPage ($ content);'? Das scheint in deinem Code zu fehlen, aber das ist sehr einfaches PHP, wenn man bedenkt, was du bereits hast. – iainn
Ja, ich habe vergessen, die Variable "content" zu kopieren, die ein Stück HTML-Markup enthält. Rückgabe ** $ Links **; sollte ohne die Sternchen angezeigt werden, als ich versuchte, das Wort auf dem Seiteneditor hier fett zu machen. – gcerni