-
Intrebare PHP cURLl
Salut ma poate ajuta cineva cu o functie php care sa poata copia titlurile de pe o alta pagina,adica doar ce este continut in acel div-uri.
Cu functia cURL daca acel site cade eu nu mai pot afisa deci e ca un iframe si eu nu vreau asta.
Si nu prea stiu cum sa disting un titlu de altu, adica sa sortez caci sunt in aceasi clasa.
Eu am gasit ceva in genu
Cod PHP:
<?php
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html = file_get_contents_curl("http://example.com/");
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'keywords')
$keywords = $meta->getAttribute('content');
}
echo "Title: $title". '<br/><br/>';
echo "Description: $description". '<br/><br/>';
echo "Keywords: $keywords";
?>
-
Eu folosesc asta, iti face treaba mult mai usoara.
-
Pai da, dar cu file_get daca pica sursa sau se scimba nu prea ai ce face.
Eu am ceva in genu
<tr class="Detali">
<td class="title">
<a href="#">A</a>
<tr class="Detali">
<td class="title">
<a href="$">B</a>
Pot face cumva deosebirea intre cele 2(Dupa titlu A sau B) astfel incat sa pot manipula titlurile sa zicem ca vrea sa pun un cuvant inaintea unui titlu care incepe cu F
--- Later Edit --- (ca mi-a fost lene sa apas "Edit")
Sau sa le pot manipula individual dupa acel numar.
<tr class="Detali">
<td class="number">1.</td>
<td class="image">
<a href="$" title="B"><img src="#" height="74" width="54" alt="B" title="B"></a>
</td>
<td class="title">
<a href="#">A</a>
<tr class="Detali">
<td class="number">2.</td>
<td class="image">
<a href="#" title="A"><img src="#" height="74" width="54" alt="A" title="A"></a>
</td>
<td class="title">
<a href="$">B</a>
-
Ai exemplu in documentatie.
$ret = $html->find('.foo');
Iti returneaza un array.
In cazul tau ar fi:
$ret = $html->find('.title');
Si salveaza-le intr-o baza de date ca sa nu faci conexiunea mereu cand ai nevoie sa afisezi.
-
Pai si cum imi returneaza doar titlul A ca ele sunt pe clase?