Мне нужно проанализировать мета-описание и мета-ключевые слова из DOM, используя PHP.
Я использовал следующий код, чтобы получить мета-описание и ключевые слова из DOM
$tags = get_meta_tags($url);
$tags['description'];
$tags['keywords'];
Приведенный выше код работает нормально для следующих случаев
<meta name="description" content="description goes here" />
<meta name="keywords" content="keywords1, keywords2" />
Но терпит неудачу в следующем случае
<meta http-equiv="keywords" content="keywords1, keywords1" />
<meta http-equiv="description" content="description goes here" />
Кажется, есть способ добиться этого, используя PHP Simple HTML DOM Parser, но я бы хотел достичь этого без использования этого (так как это единственное требование для моего проекта).
Есть ли способ заставить его работать в обоих условиях?
Как отмечено в документация, «Только метатеги с атрибутами имени будут проанализированы.».
Вы можете обойти эту проблему, скопировав целевую страницу во временный файл и изменив текст страницы перед передачей временного файла в get_meta_tags()
функция вместо
Это, вероятно, хрупкий, и может быть непредсказуемым в том случае, если на странице есть как метатег, который использует name
и тот, который использует http-equiv
с тем же значением.
Других решений пока нет …