Валидация на код? Важи ли за нещо?

toretic

Member
Здравейте хора ;).
Въпроса ми за деня е: "Валидация на код? Важи ли за нещо?
От към сео... от към мео, вео.... и другите 1-4 буквени съкращения.
 
ей може да съм най - тъпото ко*еле на света ама немога да разбера за какво говориш
 
Предполага се, че валиден код е един от факторите за добро ранкване.
Със сигурност е предпоставка паяците коректно да обходят и индексират сайта.
Валидирането не отнема кой знае колко време, сложи си го в to do листата :)
 
От: Валидация на код? Важи ли за нещо?

ранкване... като ранкване в гугъл?
Аз знам, че не е трудно... но да валидирам целия сайт ще ми трябва поне 1 ден... а такива екстри няма за момента :)... едва смогвам в момента да правя каталог и директория :)
 
От: Валидация на код? Важи ли за нещо?

Обърках нещо - този пост е за триене :-(
 
Последно редактирано:
От: Валидация на код? Важи ли за нещо?

ранкване... като ранкване в гугъл?
Аз знам, че не е трудно... но да валидирам целия сайт ще ми трябва поне 1 ден... а такива екстри няма за момента :)... едва смогвам в момента да правя каталог и директория :)


Ами гледай сега: сайтовете, които аз правя поне до момента, не са много сложни. Имам две функции - head() и foot(), а между тях влиза съдържанието на различните страници - така не ми се налага да повтарям много неща.

Та когато валидирам мога да сторя това с index страницата - така оправям нея и съдържанието в head и foot, което не е малко... Зависи от сайта. Другите неща, като например navbar, форми и т.н. можеш лесно да ги докараш до валидирано състояние - като си създадеш стандарт на писане на код и се придържаш стриктно към него (ако си програмист де).

Сега идва content-а: ако ползваш strip_tags няма за какво да се безпокоиш, с няколко функции може да замениш определени символи с техните html_entities. Това също се решава лесно ;-)


До тук всичко е лесно.


По трудно е когато ползваш wysiwyg редактор:

1. Самия редактор трябва да генерира валиден код, независимо как потребителя форматира документа
2. Обикновено тези редактори позволяват на потребителя да пише директно HTML (т.е. имат отметка, която Ви дава достъп до целия HTML) - там можете да напишете абсолютно каквото си поискате, което е кофти :-(


И най-трудно е, когато потребителите имат пълна свобода да пишат HTML - тогава е най-кофти...


Тези проблеми обаче могат да се решат чрез добре написан софтуер. В PHP има един клас, който Ви дава DOM функции, аналогични на тези в браузърите, така че ако си напишете качествен скрипт или намерите готов такъв - проблема е решен ;-)


Аз го ползвам, за да извличам лесно съдържание от страници. Ето пример:



$html = str_replace("\r","",$html);
$html = str_replace("\n","",$html);

if (preg_match('/(.*)(<meta http\-equiv="Content\-Type" content="text\/html; charset=)([a-z0-9\-]*)("[ ]*[\/]?>)(.*)/i',$html)) {
$charset = preg_replace('/(.*)(<meta http\-equiv="Content\-Type" content="text\/html; charset=)([a-z0-9\-]*)("[ ]*[\/]?>)(.*)/i',"\\3",$html);

$html = preg_replace('/(.*)(<meta http\-equiv="Content\-Type" content="text\/html; charset=)([a-z0-9\-]*)("[ ]*[\/]?>)(.*)/i',"\\1\\2UTF-8\\4\\5",$html);
}

$html = str_replace(">",">\n",$html);
$html = mb_convert_encoding($html, 'UTF-8', $charset);


$doc = new DOMDocument;
$doc->LoadHTML($html);


$title_arr = $doc->getElementsByTagName('title');
foreach ($title_arr as $title_obj) {
if ($title_obj->nodeValue != "")
$my_title = $title_obj->nodeValue;
}


Както виждате, той първо премахва символите за връщане на курсора и за нов ред, за да могат да минат през regular_expressions.

Те извличат в една променлива текущата кодова таблица и редактират META тага така, че в него да пише UTF-8 (DOM работи най-добре с нея, освен това аз я използвам за АБСОЛЮТНО ВСИЧКИ мои творения).

След това новите редове се възстановяват и документа се прекодира от началната кодова таблица на UTF-8.

От там нататък влиза в действие класът за DOM, който в случая намира тага title и извлича неговото съдържание в променлива.


Същия този скрипт може да бъде направен рекурсивен, и с подходяща логика да оправя мазалото от потребителите и WYSIWYG, но си иска доста занимавки. Няма как да не са налични готови, просто трябва да се разровите ;-)

Всъщност аз имам нужда от такъв скрипт заради WYSIWYG, тъй като IE генерира един код, а Mozilaa и всички останали (явно Opera и Safari взимат функции от нея) генерират друг код. Та нищо чудно до седмица-две да отделя време на това - мисля, че с DOM на PHP, рекурсия и switch() конструкции ще стане лесно :)
 
Последно редактирано:
От: Валидация на код? Важи ли за нещо?

на ботовете им е по лесно да индексират валиден код но

Потвърдено от батко ви Мат Кътс - Няма наказания за невалиден код



http://www.mattcutts.com/blog/the-web-is-a-fuzz-test-patch-your-browser-and-your-web-server/

може да прочете цялата тема от която е цитата

Валидиране Doctype и SEO
 

Горе