Хора, значи правя една тема за WordPress и нали написал съм XHTML кода на страницата така:
След като WordPress го обработи, връща това:
И като го проверя, чрез валидатора ми излиза, че е невалидно, защото "XML declaration allowed only at the start of the document". Тоест декларацията на първия ред трябва да е разделена с нова линия от doctype и явно PHP връща някакъв странен нов ред, който валидатора не го брои за такъв, защото когато ръчно изтрия новия ред между xml декларацията от първия ред и doctype от втория, и си напиша мой си нов ред, става валидно... А, пък като сложа \n в PHP не прави нова линия, а си го връща буквално.
Я, дайте някакъв акъл от какво може да е предизвикано това, че много ме дразни.
Промяна:
Хм, сега като копирах върнатия source код и го поставих в Notepad се оказа, че над xml декларацията има някакъв празен ред... а аз не съм го написал в PHP кода. :idea:
PHP:
<?php echo( '<?xml version="1.0" encoding="' . get_bloginfo( 'charset' ) . '"?>
' ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html <?php language_attributes('xhtml'); ?> xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=<?php bloginfo( 'charset' ); ?>" />
<meta http-equiv="content-language" content="<?php bloginfo( 'language' ); ?>" />
След като WordPress го обработи, връща това:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html dir="ltr" lang="bg-BG" xml:lang="bg-BG" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<meta http-equiv="content-language" content="bg-BG" />
И като го проверя, чрез валидатора ми излиза, че е невалидно, защото "XML declaration allowed only at the start of the document". Тоест декларацията на първия ред трябва да е разделена с нова линия от doctype и явно PHP връща някакъв странен нов ред, който валидатора не го брои за такъв, защото когато ръчно изтрия новия ред между xml декларацията от първия ред и doctype от втория, и си напиша мой си нов ред, става валидно... А, пък като сложа \n в PHP не прави нова линия, а си го връща буквално.
Я, дайте някакъв акъл от какво може да е предизвикано това, че много ме дразни.
Промяна:
Хм, сега като копирах върнатия source код и го поставих в Notepad се оказа, че над xml декларацията има някакъв празен ред... а аз не съм го написал в PHP кода. :idea: