送信された 1 つの URL から見つかったリンクから、リンク、タイトル、メタ記述をスキャンする Web クローラーを構築しています。
このifステートメントは正しいと思います。$description は、配列 $link からのすべての説明を保持する変数です。しかし、すべてのサイトにメタ ディスクリプション (ウィキペディアなど) があるわけではないことに気付いたので、説明が空の場合は最初の 20 文字を説明として使用することにしました。(ちなみに、すべての関数と呼び出しが機能します。それを見てほしかっただけです)
if ($description == '') {
$html = file_get_contents($link);
preg_match('%(<p[^>]*>.*?</p>)%i', $html, $re);
$res = get_custom_excerpt($re[1]);
echo "\n";
echo $res;
echo "\n";
}
ただし、配列では、リンクは [link] に、リンクのタイトルは [title] に、説明は [description] に格納されます。しかし、配列に $res を追加する方法と、if ステートメントが機能する場合にのみ使用する方法がわかりません。
$output = Array();
foreach ($links as $thisLink) {
$output[] = array("link" => $thisLink, "title" => Titles($thisLink), "description" => getMetas($thisLink), getMetas($res));
}
print_r($output);