Записи. И так какое-то подобие html парсера. Часть первая, подготовка. 

16 лет назад

Для начала, нам неплохо было бы и подготовить парсер к обработке.

 

if (!class_exists('HtmlParser')){
class HtmlParser{

var $allow;
var $simpletag;
var $AllowProtocols;
var $ReplaceTagsFrom, $ReplaceTagsTo;

function HtmlParser(){
$this->ClearAllow();
$this->simpletag=array('img','br','hr','input','param');
$this->AllowProtocols=array('http','ftp','skype','about','https');
$this->ReplaceTagsFrom=array();
$this->ReplaceTagsTo=array();
$this->AddReplace('/\<(\/?)b(\s[^\>]*?)\>/i','<$1strong$2>');
$this->AddReplace('/\/i','<span class="lj_user"><a href="http://www.livejournal.com/userinfo.bml?user=$2" title="$2 profile"><img src="http://stat.livejournal.com/img/userinfo.gif" border="0" alt="[info]" /></a><a href="http://$2.livejournal.com/">$2</a></span>');
$this->InitAllow();
}
}

Это пока только заготовка, в неё нету даже реализации всех функций кроме конструктора. Но в планах:

  • Нормальная обработка одиночных тегов.
  • Обработка закрытых двойных закрытых тегов.
  • Допуск разных протоколов в ссылках.
  • Автозамена некоторых тегов, для отображения на экране.
В следующей части рассмотрим функции инициализации.

Авторизация



Поиск на сайте или перейди на страницу поиска