Naprowadzę Cię :]
Wyciągamy teraz z tych linków same hrefy, których dopasowania trafiają do $links[1], ponieważ jest to pierwszy "()" w naszym preg_match_all.
Potrzebowalibyśmy teraz wyciągnąć to co jest za linkiem poza hrefem.
Więc modyfikujemy preg_match_all.
if (preg_match_all("#<strong>.*<a href=\"(.*)\" >(.*)</a></strong>#", $result, $links))
Co to daje ? Teraz wszystko co jest:
href=\"TUTAJ\" => trafia do $links[1]
A wszystko co jest pomiędzy:
<a>TUTAJ</a> => trafia do $links[2]
Więc to drugie umożliwa nam dostanie się do opisu linka :]
Teraz już pozostaje tylko sformatowanie danych, które mamy dostępne.
Na przykład w ten sposób:
foreach ($links[1] as $index => $link)
{
$href = $baseUrl . $link;
print "<a href=\"$href\">".$links[2
][$index]."</a><br />"; }
Cały kod wyglądałby tak:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://praca.gazetapraca.pl/0,4050,,,1,20,-postDate,,,,,,Kalisz,,,0,,,,,,,,133.html");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
//links
$baseUrl = "http://praca.gazetapraca.pl/";
if (preg_match_all("#<div class=\"c0\">(.*?)</div>#", $result, $links)) {
foreach ($links[0] as $link)
{
if (preg_match_all("#<strong>.*<a href=\"(.*)\" >(.*)</a></strong>#", $result, $links)) {
foreach ($links[1] as $index => $link)
{
$href = $baseUrl . $link;
print "<a href=\"$href\">".$links[2
][$index]."</a><br />"; }
}
}
}
?>
Mam nadzieję, że wyniesiesz z tego posta coś więcej niż gotowy kod, który notabene przygotowali Ci ludzie z tego forum, bo widzę, że początkowy kod został stworzony też harytatywnie na Twoją prośbę w osobnym poście.