оригинальный баг с gzip и content-length 

14 лет назад

Пишу сайт на собственном движке, мой сайт тоже работает на ней, только более старой. Конечно он не идеален и мало что умеет, но что умеет делает надёжно. В этом я был уверен, пока месяца два на одной странице не начались тормоза.

По ачалу я подумал, что страница распухла и где-то мои скрипты обрабатывающие большую простынку ф


Читать целиком.

myminicity 

17 лет назад

В сети есть сайт myminicity.com, где каждому желающему предлагают построиьт свой город. Суть заключается в том, чтобы заходить по ссылкам в город увеличивая соответсвующий параметр. Всё просто и лаконично, если не считать, что каждый город можно увеличить 1 раз в сутки с 1-го IP адреса.

Можно, конечно, постоянно отключать интернет и


Читать целиком.

html парсер. Часть третья. Разбор текста. 

18 лет назад

Наверное самая большая часть кода и самая важная тут.

	function Parse($text){

$text=preg_replace($this->ReplaceTagsFrom,$this->ReplaceTagsTo,$text);

@preg_match_all('/([^\<]*?)\<(\/?)([^\s]+?)((?:(?:\s+(?:[\w]+?)=("|\')(?:[^\5]*?)(?<!\\\\)\5)*?)(?:\s*)\/?)\>/',$text.'<br />',$textdrop);
$tags=array();
if(count($textdrop[0])==0)
return htmlspecialchars($text);
fo

Читать целиком.

html парсер. Часть вторая, инициализация 

18 лет назад

Продолжив колдовать и создав несколько функций инициализации, мы получаем следующую картину.

function ClearAllow(){
$this->allow=array();
}

function InitAllow(){
$this->SetAllow(array(
'a' => array('href','target','style','class'),
'img' => array('src','border','alt','title','style','class','width','height','align'),
'br' => array('style','clear','class'),
'hr' => array

Читать целиком.

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

18 лет назад

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

 

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

Читать целиком.

Авторизация



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