я использую документ dom getElementsByTagName для получения заголовка веб-сайта.
вот мой код:
$doc = new DOMDocument();
@$doc->loadHTML($strData);
$doc->encoding = 'utf-8';
$doc->saveHTML();
$titleNode = $doc->getElementsByTagName("title");
работает нормально, но когда в заголовке есть специальный символ, извлекаемые данные не точны. вместо этого я получаю "Some More Google Plus Invite Workarounds #wrapper { background:url(/) no-repeat 50% 0; } body { background:#CFD8E2; }
".
я сделал следующее, чтобы заменить специальные символы, но это не сработало:
// Replace all special characters into space
$specialChars = array('~','`','!','@','#','$','%','^','&','*','(',')','-','_','=','+','|','\\',']','[','}','{','"','\'',':',';','/','?','.',',','>','<');
foreach ($specialChars as $a) {
$titleNode = str_replace($a, ' ', $titleNode);
}
Вместо этого я получаю пустой заголовок. Значение <title>
выглядит примерно так:
<title>Some More Google Plus Invite Workarounds < Communication, Social Networking < PC World India News < PC World.in</title>
так что мне делать