Я бы хотел определить кодировку удаленной страницы, обнаружив тег заголовка Content-Type
<meta http-equiv="Content-Type" content="text/html; charset=XXXXX" />
если присутствует.
Я получаю удаленную страницу и пытаюсь выполнить регулярное выражение, чтобы найти необходимые настройки, если они есть.
Я все еще учусь, следовательно, проблема ниже ...
Вот что у меня есть:
$EncStart = 'charset=';
$EncEnd = '" \/\>';
preg_match( "/$EncStart(.*)$EncEnd/s", $RemoteContent, $RemoteEncoding );
echo = $RemoteEncoding[ 1 ];
Вышеприведенное действительно повторяет название кодировки, но не знает, где остановиться, поэтому выводит на печать остаток строки, а затем большую часть удаленной страницы в моем тесте.
Пример: при тестировании удаленной русской страницы печаталось:
windows-1251 "/>
остальная часть страницы ....
Это означает, что $EncStart
было в порядке, но часть регулярного выражения $EncEnd
не смогла остановить сопоставление. Этот мета-заголовок обычно заканчивается тремя различными вариантами после имени кодировки.
"> | "/> | " />
Я не знаю, пригодится ли это, чтобы удовлетворить конец обработки и, если да, как избежать этого. Я играл разными способами, но ни один из них не работал.
Заранее благодарим за помощь.