Я извлекаю страницу, которая представляет собой страницу с некоторыми тегами стиля, таблицей и другим неживым содержимым. Я храню это в переходном процессе, и извлечение все это с помощью AJAXУдаление ненужных элементов из таблицы simple_html_dom
$result_match = file_get_contents('www.example.com');
set_transient('match_results_details', $result_match, 60 * 60 * 12);
$match_results = get_transient('match_results_details');
if ($match_results != '') {
$html = new simple_html_dom();
$html->load($match_results);
$out = '';
$out .= '<div class="match_info_container">';
if (!empty($html) && is_object($html)) {
foreach ($html->find('table') as $table => $table_value) {
$out .= preg_replace('/href="?([^">]+)"/', '', $table_value);
}
}
$out .= '</div>';
wp_die ($out);
} else {
$no_match_info = esc_html__('No info available', 'kompisligan');
wp_die($no_match_info);
}
Теперь таблица была якорей и мне нужно удалить, так что я использовал preg_replace
, чтобы найти якорь и очистить его. Я знаю, что вы можете манипулировать содержимым с помощью метода find()
, но я не имел успеха в этом.
Теперь я хотел бы избавиться от всего тега <tfoot>
и того, что он содержит.
Но каждый раз, когда я пытаюсь «найти» что-то, ajax возвращает ошибку, что означает, что что-то в моем коде неверно.
Как управлять содержимым уже найденного элемента с помощью simple_html_dom
? Я попытался вывести содержимое $html
, чтобы я мог видеть, что я выйду, но мой вызов AJAX длится вечно, и я не могу его вытащить.
Почему бы не использовать DOMDocument по умолчанию с PHP, это то, что я использую, чтобы снести некоторые HTML-страницы перед их обслуживанием. Он очень прост в использовании. Для удаления tfoot это будет '$ tfoot = $ dom-> getElementsByTagName ('tfoot'); if ($ tfoot! == null) $ tfoot-> parentNode-> removeChild ($ tfoot); '. – Kalkran