WP. Запись спаршеных данных в таблицу
Есть табличка в базе WP wp_fg_tournaments следующего вида:
Стоит задача добавить в неё строчку, сформированную из спаршенных данных curl запроса. Код выглядит так:
<?php
function curl_get($url, $referer = 'https://www.google.com'){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36");
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// загрузка страницы и выдача её браузеру
$data = curl_exec($ch);
if ($data===false) echo curl_error($ch);
curl_close($ch);
return $data;
}
$html = curl_get('https://www.soccerstats.com/latest.asp?league=england');
$dom = str_get_html($html);
$title = $dom->find('h1', 0);
$dom = new DOMDocument;
@$dom->loadHTML(mb_convert_encoding($title, 'HTML-ENTITIES', 'UTF-8'));
$xpath = new DOMXPath($dom);
$newContent = $dom->saveHTML();
$html = str_get_html($newContent); /// в $html храниться объект <h1>Premier League</h1>
/// Тут добавление в базу
global $wpdb;
$table_name = $wpdb->get_blog_prefix() . 'fg_tournaments';
$date = date("Y-m-d h:i:s", time());
$wpdb->insert(
$table_name,
array(
'id' => NULL,
'title' => serialize($html), //// Не отрабатывает
'description' => 'test desсription',
'object_last_modified' => $date,
'odject_published_up' => $date,
),
array(
'%d', // %d - значит число
'%s', // %s - значит строка
'%s',
'%s',
'%s'
)
);
echo "DONE";
Для теста хочу записать h1, взятое из указанного адреса, и записать новую строку в базу. Но почему-то не записывает. Если просто передать вместо 'title' => serialize($html)
'title' => 'test title', то все записывает, а так не отрабатывает.
Не могу понять в чём ошибка. Думал, что curl запрос не успевает отработать до момента записи, но пишут, что нет. Подскажите, в чём может быть ошибка.
Вот что выводит var_dump(serialize($html))

