要在WordPress中调用另一个网站的内容并根据指定关键词进行筛选,你可以使用以下代码。这段代码使用了WordPress内置的wp_remote_get
函数来获取远程网站的内容,然后使用PHP的DOMDocument
和DOMXPath
类来解析HTML并筛选出包含指定关键词的内容。
首先,在你的主题的functions.php
文件中添加以下代码:
function get_remote_content_by_keyword($url, $keyword) {
// 获取远程网站内容
$response = wp_remote_get($url);
$content = wp_remote_retrieve_body($response);
// 检查是否获取成功
if (is_wp_error($response)) {
return 'Error fetching content';
}
// 解析HTML
$dom = new DOMDocument();
@$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
// 查找包含关键词的元素
$elements = $xpath->query("//*[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '$keyword')]");
// 提取并返回包含关键词的内容
$filtered_content = '';
foreach ($elements as $element) {
$filtered_content .= $dom->saveHTML($element);
}
return $filtered_content;
}
接下来,在你的主题模板文件中(例如index.php
),你可以使用以下代码调用远程网站的内容并筛选出包含指定关键词的内容:
$url = 'https://example.com'; // 替换为你要获取内容的远程网站的URL
$keyword = 'your_keyword'; // 替换为你想要筛选的关键词
$filtered_content = get_remote_content_by_keyword($url, $keyword);
echo $filtered_content;
请注意,这段代码可能会受到跨域资源共享(CORS)策略的限制。如果遇到问题,你可能需要在远程服务器上设置适当的CORS头,或者使用WordPress插件(如WP-CORS)来解决跨域问题。
来源