Inspeccionem el codi font de la web
Per a trobar les paraules inspeccionem el codi de la web del Paraulògic (Ctrl + u) des d’un PC, des de mòbil afegint a l’URL «view–source» debant de tot seguit de dos punts (ex: view–source:https://www.vilaweb.cat/paraulogic/)
Un cop dins del codi busquem «var t={» (que es troba més aviat cap al final del codi).
Aquell objecte conte el paràmetre «l» amb les lletres del dia actual i el paràmetre «p» amb les paraules del dia actual.
function get_paraulogic_today() {
$dades = new stdClass();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.vilaweb.cat/paraulogic/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
curl_close($curl);
$dom = new DomDocument();
@$dom->loadHTML($response);
$dades->dades = get_dades_paraulogic_today($dom);
if ($dades->dades->success) $dades->success = true;
else $dades->success = false;
return $dades;
exit;
}
function get_dades_paraulogic_today($dom) {
$dades = new stdClass();
if (is_null($dom) || empty($dom) || !isset($dom)) {
return array('success' => false, "msg" => "Ho sentim, no s'han trobat dades.");exit;
}
$paraulogic_y = explode("var y=",$dom->textContent);
$paraulogic_t = explode("var t=",$paraulogic_y[1]);
$break_all = explode('"use strict";',$paraulogic_y[1]);
$paraulogic_t = explode('"use strict";',$paraulogic_t[1]);
$dades->success = true;
$paraules_avui = get_paraules_paraulogic($paraulogic_t[0]);
$dades->avui = $paraules_avui;
return $dades;
}
function get_paraules_paraulogic($json) {
$paraules = explode(',"p":',$json);
$resultats = "";
foreach ($paraules as $key => $p) {
if (strpos($p,'{"l":') !== false) {
$lletres = str_replace('{"l":[','',$p);
$lletres = str_replace(']','',$lletres);
} else {
$pars = explode('"},',$p);
$resultats = explode(' {"',$pars[0]);
$resultats = explode('{',$resultats[0]);
}
}
$res = new stdClass();
$res->lletres = $lletres;
$res->paraules = formater_paraules_paraulogic($resultats[1] . '"');
return $res;
}
function formater_paraules_paraulogic($paraules) {
$resultats = array();
$par = array();
$arrParaula = explode(",", $paraules);
foreach ($arrParaula as $key => $paraula) {
$par[$key] = explode(': "',$paraula);
$resultats[] = str_replace('"','',$par[$key][1]);
}
return $resultats;
}