HTML Content безпечні функції PHP

Субота, 28 Березня 2009 2:43
Опубліковано в категорії Php

Lar функція очищення HTML для введення, але більше випробувань etmedım Hos gozukuor

Авторське право: http://www.ysfkc.com/dosyalar/guvenliHtml.phps

guvenliHtml функції ($ тексті) (
Global $ старт;
$ KonumK = 0; # <(Kucuktur) символів ми бачили, на останньому місці за
$ KonumB = 0; #> (Buyuktur) символів ми бачили, на останньому місці за
$ Tag_mi = false; # TAG рамках ми?
OzellikSablon $ = "; # функція = значення буде використовуватися для викликів глобальної formatindaki
$ TagTablosu = Array (); # TAG інформації в глобальному alacagi
$ OzellikTablosu = Array (); # функцію (атрибут) інформації в глобальному alacagi
$ DegerTablosu = Array (); # VALUE (вартість) інформації в глобальних alacagi

# Глобальні змінні, встановлені до значень
guvenliGlobal ();

# Текст перед островом Yapılan з корекції процесу
$ Text = onDuzeltme ($ Text);

$ I = 0;
$ Buffer = ";
$ KonumK StrPos = ($ тексті, '<', $ I); # <rastlandigi першу позицію символу
$ KonumB StrPos = ($ тексті, '>', $ I); #> rastlandigi першу позицію символу

# Scan теги дозволяють тексту в нашому
While (True) (
# Якщо <характер ще раз rastlandiysa
# Або <character знайшли but> характер bulunamadiysa
якщо (($ konumK! konumK == False & & $ <$ konumB) | | ($ konumK! == False & & $ konumB === FALSE)) (
# TAG icerisindeysek
If ($ tag_mi) (
# Тег <olamayacagi для тегу частини sandigimiz
# Basindaki символу <<на фразу Çevre
$ Буфера .= '<'. SUBSTR ($ тексту, $ I, $ konumK - $ I);

# TAG рамках degilseniz
) Остальное (
#
Буфер .= $ SUBSTR ($ тексту, $ I, $ konumK - $ I);
)

$ I = $ konumK + 1;
$ KonumK StrPos = ($ тексті, '<', $ I);
# TAG фіксують
Tag_mi $ = true;

# Якщо знак> ще раз rastlandiysa
# Чи> характер знайдений, але <характер bulunamadiysa
) ElseIf (($ konumB! KonumK == FALSE & & $> $ konumB) | | ($ konumK === FALSE & & $ konumB! == FALSE)) (
# TAG icerisindeysek
If ($ tag_mi) (
# Duzeltilmis Додати теги
$ Буфера .= guvenliTag (SUBSTR ($ тексту, $ I, $ konumB - $ I));

# Закриває тег
$ Tag_mi = false;

# TAG рамках degilseniz
) Остальное (
Отримати частині # Тут Кодар
# І символу>> фрази Çevre
Буфер .= $ SUBSTR ($ тексту, $ I, $ konumB - $ I). '>';
)

$ I $ konumB = 1;
$ KonumB StrPos = ($ тексті, '>', $ I);

# Якщо <or> характер rastlanmadiysa
) Остальное (
# TAG icerisindeysek
If ($ tag_mi) (
# Останні загальноприйнята символу <<на фразу Çevre
# І додати Devamını текстовий буфер
$ Буфера .= '<'. SUBSTR ($ тексту, $ I);
) Остальное (
# В кінці тексту з Devamını Калина додати позицію буфера
Буфер .= $ SUBSTR ($ тексту, $ I);
)

# Cik Артик тега kalmadigina Гора Донг
брейк;
)
)

повернути $ буфера;
)

# ------------------------------------------------- -------------------------------------------------
onDuzeltme функції ($ тексті) (
$ DegisiklikOncesi ='';

Обов'язковий поки oldugu Bolum # degistirilmesi продовжувати
While ($ degisiklikOncesi! = $ Тексті) (

$ = $ DegisiklikOncesi тексту;

# & # XX формат написав кілька символів ASCII karsiliklarina cevriliyor
# Деякі теги дозволяють atiliyor та зміст
$ Text = preg_replace ( '/ / Si ', ", $ Text);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / HEAD> / Si ', ", $ Text);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / script> / Si','', $ TEXT);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / APPLET> / Si','', $ TEXT);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / OBJECT> / Si','', $ TEXT);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / FRAMESET> / Si','', $ TEXT);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / IFRAME> / Si','', $ TEXT);
$ Text = preg_replace ( '/ \ S ]+.*?< \ / TITLE> / Si','', $ TEXT);
$ Text = preg_replace ( '/
\ S ]+.*?< \ / Style> / Si','', $ TEXT);
$ Text = preg_replace ('/(&# 0 * 38 ;)|(&# 0 * 38 (?! [0-9A-F ]))|(&# х0 * 26 ;)|(&# х0 * 26 (?! [0-9A-F])) / I ',' & ', $ Text);
0 * 35 = preg_replace тексту ('/(&# $ ;)|(&# 0 * 35 (?! [0-9A-F ]))|(&# х0 * 23 ;)|(&# х0 * 23 (?! [0-9A-F])) / # 'I', ', $ Text);
$ Text = preg_replace ('/(&# 0 * 34 ;)|(&# 0 * 34 (?! [0-9A-F ]))|(&# х0 * 22 ;)|(&# х0 * 22 (?! [0-9A-F])) / I ',' " ', $ Text);
$ Text = preg_replace ('/(&# 0 * 39 ;)|(&# 0 * 39 (?! [0-9A-F ]))|(&# х0 * 27 ;)|(&# х0 * 27 (?! [0-9A-F])) / I ',' \'', $ Text);
0 * 60 = preg_replace тексту ('/(&# $ ;)|(&# 0 * 60 (?! [0-9A-F ]))|(&# х0 * 3C ;)|(&# х0 * 3C (?! [0-9A-F])) / I ',' < ', $ Text);
$ Text = preg_replace ('/(&# 0 * 62 ;)|(&# 0 * 62 (?! [0-9A-F ]))|(&# х0 * 3E ;)|(&# х0 * 3E (?! [0-9A-F])) / I ','> ', $ Text);
$ Text = preg_replace ('/(&# 0 * 58 ;)|(&# 0 * 58 (?! [0-9A-F ]))|(&# х0 * 3A ;)|(&# х0 * 3A (?! [0-9A-F])) / I ',': ', $ Text);
$ Text = preg_replace ('/(&# 0 * 47 ;)|(&# 0 * 47 (?! [0-9A-F ]))|(&# х0 * 2F ;)|(&# х0 * 2F (?! [0-9A-F])) / I ',' / ', $ Text);
$ Text = preg_replace ('/(&# 0 * 61 ;)|(&# 0 * 61 (?! [0-9A-F ]))|(&# х0 * 3D ;)|(&# х0 * 3D (?! [0-9A-F])) / I ',' = ', $ Text);
0 * 63 $ Text = preg_replace ('/(&# # ;)|(&# 0 * 63 (?! [0-9A-F ]))|(&# х0 * х0 * 3F ;)|(&# 3F (?! [0-9A-F])) / I ','? ', $ Text);
0 * 37 $ Text = preg_replace ('/(&# # ;)|(&# 0 * 37 (?! [0-9A-F ]))|(&# х0 * 25 * ;)|(&# х0 25 (?! [0-9A-F])) / I ','% ', $ Text);
0 * 46 $ Text = preg_replace ('/(&# # ;)|(&# 0 * 46 (?! [0-9A-F ]))|(&# х0 * х0 * 2E ;)|(&# 2E (?! [0-9A-F])) / I ','. ', $ Text);
)

повернути $ тексту;
)

# ------------------------------------------------- -------------------------------------------------
guvenliTag функції ($ тексті) (
Global $ tagTablosu;
$ Слеш = false;

# Останній символ / в
якщо (preg_match ( '/ \ S \ /$/', $ TEXT)) (
$ Text = SUBSTR ($ тексту, 0, StrLen ($ тексту) -1);
$ Слеш = true;
)

якщо (preg_match ('/^( \ /?)([^ \ S] *) \ S * $ / I ', $ тексту, $ Group) # або або formatindaysa
& &! ($ Group [1] & & $ слеш) # В той же час або
& & Array_key_exists (strtolower ($ групи [2]), $ tagTablosu)) (# TAG, якщо є $ tagTablosu'nda
# 1 подібностей, якщо такі є, бас / характер
# 2 Схожість, тег дає

# formatindaysa
If ($ дріб) (
$ Text = '<'. $ Групи [2]. '/>';

# або formatindaysa
) Остальное (
$ Text = '<'. $ Групи [1]. $ Групи [2]. '>';
)

повернути $ тексту;

) ElseIf (preg_match ('/([^ \ S] +) \ S *(.*)$/ SI ', $ тексту, $ Group) # formatindaysa
& & Array_key_exists (strtolower ($ групи [1]), $ tagTablosu)) (# TAG, якщо є $ tagTablosu'nda
# 1 Подібність тега
# 2 Подібність дає перелік об'єктів
$ Text = '<'. $ Групи [1];
guvenliOzellikler тексту .= $ ($ групи [2], $ tagTablosu [strtolower ($ групи [1 ])]);

If ($ дріб) (
$ TEXT .='/>';
) Остальное (
$ TEXT .= '>';
)

повернути $ тексту;
)

# TAG недійсними. Freeze Tag замість 1 місце
#''Dondurmeyin або дірку в системі безпеки складається
повернення'';
)

# ------------------------------------------------- -------------------------------------------------
guvenliOzellikler функції ($ прийняті, $ izin_verilenler) (
Global $ ozellikSablon, $ ozellikTablosu, $ degerTablosu;

$ Temp_ozellikler ='';

# Функція або властивість = значення продовжувати formatina rastlandigi поки
While (preg_match ($ ozellikSablon, $ прийняті, $ групи)) (

# 1 Схожість, функцію ...
# 2 3. або 4 Подібність вартість ...
# 5 схожість, а інші будуть перераховані послуги
$ = $ Приймаються групи [5];

# Ця функція для цього тега в список дозволених пільгами ...
# Ця функція є в списку визнаних стандартів HTML відповідні ...
якщо (in_array (strtolower ($ групи [1]), $ izin_verilenler) & & array_key_exists (strtolower ($ групи [1]), $ ozellikTablosu)) (
# Якщо вам потрібно це значення функції вкладення
If ($ ozellikTablosu [strtolower ($ групи [1])]) (
# VALUE перевірити sablona пішли uymadigini
preg_match ($ degerTablosu [$ ozellikTablosu [strtolower ($ групи [1 ])]][ 0], $ групи [2] | $ групи [3] | $ групи [4], $ grup2);

# Sablona відповідне значення, якщо знайдено ...
# І yasaklilar sablonuna не підходить ...
If ($ grup2 [1] & &! Preg_match ($ degerTablosu [$ ozellikTablosu [strtolower ($ групи [1 ])]][ 1], $ групи [2] | $ групи [3] | $ групи [4])) (
# Значення в "характер, швидше за все, відбудеться, якщо
If ($ групи [3]) (
# Функція = 'рекордного значення форматі'
$ Temp_ozellikler .=''. $ Групи [1]. '= \''. $ Grup2 [1]. '\'';

# Значення в "характер, навряд чи
) Остальное (
# Функція = "значення" зберегти формат
$ Temp_ozellikler .=''. $ Групи [1]. '= "'. $ Grup2 [1] .'"';
)
)

# Ця функція, значення almamasi потрібно ...
# І значення слід приділяти на kalkilmadiysa ...
) ElseIf (! ($ Група [2] | | $ групи [3] | | $ групи [4])) (
# Особливість формату запису (наприклад, інваліди)
$ Temp_ozellikler .=''. $ Групи [1];
)
)
)

повернути $ temp_ozellikler;
)

# ------------------------------------------------- -------------------------------------------------
guvenliGlobal функція () (
Global $ tagTablosu;
Global $ ozellikSablon, $ ozellikTablosu, $ degerTablosu;

# Список дозволених тегів дозволяє
# Дозволена Послуги для кожного тега, масив повинен бути зазначений у
$ TagTablosu = Array (
''=> Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'форма', 'координати', 'target', 'TabIndex', 'Accesskey' , 'Name', 'HREF',
'hreflang', 'Тип', 'Рід', 'CHARSET Rev',''),
'скор' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'скороченого' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'адреса' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'область' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Name', 'Alt', 'HREF', 'target', 'TabIndex' , 'Accesskey', 'форма',
'координати', 'USEMAP', 'nohref'),
'B' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'БДО' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'великий' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Цитата' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'BR' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'Clear'),
'Кнопка' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Name', 'значення', 'Type', 'Accesskey', 'TabIndex' )
'Заголовок' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'Центр' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'призвести' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'CODE' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Col' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'SPAN', 'Width', 'символ', 'charoff' , 'VALIGN'),
'COLGROUP' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'SPAN', 'Width', 'символ', 'charoff' , 'VALIGN'),
'DD' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'справі' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'DATETIME'),
'DFN' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'DIV' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'DL' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'DT' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Em' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'FIELDSET' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'Accesskey'),
'Шрифт' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Розмір', 'колір', 'обличчя'),
'h1' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'H2' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'h3' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'H4' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'H5' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'H6' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'HR' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'Розмір', 'NOSHADE Ширина',''),
'I' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'IMG' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'НДЦ', 'longdesc', 'Назва', 'ISMAP' , 'USEMAP', 'Width', 'Висота',
'кордон', 'відступ', 'VSPACE'),
'Input' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'Alt', 'Accept', 'тільки для читання', 'інваліди' , 'TabIndex',
', Accesskey' USEMAP ',' ISMAP ',' Тип ',' Назва ',' значення ',' Розмір ',' MaxLength ',' перевірив ',' НДЦ '),
'модулі' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'DATETIME'),
'ISINDEX' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'рядки'),
'KDB' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Label' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Accesskey', 'за'),
'легенду' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'Accesskey'),
'Лі' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Type', 'Start', 'значення', 'компактний'),
'карта' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Name', 'Alt', 'HREF', 'target', 'TabIndex' , 'Accesskey', 'форма',
'координати', 'USEMAP', 'nohref'),
'NOFRAMES' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'NoScript' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'ПР' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Type', 'Start', 'значення', 'компактний'),
'OPTGROUP' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'інвалідів', 'TabIndex', 'Name', 'Розмір', 'кілька' , 'Label'),
'опцію' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'інвалідів', 'TabIndex', 'Name', 'Розмір', 'кілька' , 'Label'),
'P' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'попереднього' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Width'),
'д' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
'S' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'SAMP' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Select' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Name', 'Розмір', 'багато', 'інвалідів', 'TabIndex' )
'Small' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'SPAN' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести'),
"страйк" => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'сильною' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'суб' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'SUP' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'Таблиця' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'резюме', 'Width', 'Bgcolor', 'Frame' , 'правила', 'кордон',
'CELLSPACING', 'cellpadding'),
'TBODY' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'символ', 'charoff', 'VALIGN'),
'Лі' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Bgcolor', 'призвести', 'символ', 'charoff', 'VALIGN' , 'заголовків', 'сфера',
'скор', 'ось', 'ROWSPAN', 'COLSPAN', 'NOWRAP', 'Висота Ширина',''),
'TEXTAREA' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'ім'я', 'рядок', 'COLS', 'тільки для читання', 'інваліди' , 'TabIndex',
'Accesskey'),
'TFOOT' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'символ', 'charoff', 'VALIGN'),
'й' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Bgcolor', 'призвести', 'символ', 'charoff', 'VALIGN' , 'заголовків', 'сфера',
'скор', 'ось', 'ROWSPAN', 'COLSPAN', 'NOWRAP', 'Висота Ширина',''),
'THEAD' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'призвести', 'символ', 'charoff', 'VALIGN'),
'EN' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Bgcolor', 'призвести', 'символ', 'charoff', 'VALIGN' )
'І' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'U' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
'вулиця' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік', 'Type', 'Start', 'значення', 'компактний'),
'VAR' => Array ( 'ID', 'Клас', 'Назва', 'Style', 'DIR', 'чоловік'),
);

# Özellikleri список шаблонів і degerlerinin kodlari
# Якщо almiyor вартості майна тільки встановити доступні, Null yazilacak
$ OzellikTablosu = Array (
'скор' => 'Текст',
'приймати' => 'ContentTypes',
'Accesskey' => "характер",
'призвести' => 'CUSTOM_ALIGN',
'Alt' => 'Текст',
'ось' => 'CDATA',
'Bgcolor' => 'колір',
'кордон' => 'пікселів',
'cellpadding' => 'Довжина',
'CELLSPACING' => 'Довжина',
'символ' => "характер",
'charoff' => 'Довжина',
'Charset' => "характер",
'перевірив' => NULL,
'призвести' => 'URI',
'Клас' => 'CDATA',
'Очистити' => 'CUSTOM_CLEAR',
'колір' => 'колір',
'COLS' => 'Число',
'COLSPAN' => 'Число',
'компактний' => NULL,
'координати' => 'координати',
'DATETIME' => 'DATETIME',
'реж' => 'CUSTOM_DIR',
'інваліди' => NULL,
'особа' => 'CDATA',
'для' => 'IDREF',
'Frame' => 'TFrame',
заголовки '=>' IDREFS ',
'Висота' => 'Довжина',
'HREF' => 'URI',
'hreflang' => 'LanguageCode',
'відступ' => 'пікселів',
'ID' => 'ID',
= 'ISMAP'> NULL,
'Label' => 'Текст',
'людина' => 'LanguageCode',
'longdesc' => 'URI',
'MaxLength' => 'Число',
= 'Кілька'> NULL,
'Назва' => 'CDATA',
= 'Nohref'> NULL,
= 'Nohshade'> NULL,
= 'NOWRAP'> NULL,
'рядки' => 'Текст',
'тільки для читання' => NULL,
'Рід' => 'LinkTypes',
'Rev' => 'LinkTypes',
'рядок' => 'Число',
'ROWSPAN' => 'Число',
'правила' => 'TRules',
'сфера' => 'СФЕРА',
"фігури" => "фігури",
'Розмір' => 'Число',
'SPAN' => 'Число',
'НДЦ' => 'URI', крім # сервер не хочуть фотографії gosterilmesi 'YEREL_URI' буде
'Start' => 'Число',
'Style' => 'StyleSheet',
'резюме' => 'Текст',
'TabIndex' => 'Число',
'target' => 'CDATA',
'Назва' => 'Текст',
'Type' => 'CUSTOM_TYPE',
'USEMAP' => 'URI',
'VALIGN' => 'CUSTOM_VALIGN',
'значення' => 'CDATA',
'VSPACE' => 'пікселів',
'Ширина' => 'Довжина',
);

# Індекс першого значення, необхідних uyulmasi шаблон
# Directory, друге значення, необхідний шаблон визначає uyulmamasi
# Required uyulmamasi моделі не існує, "немає даних" означає "/ ^ \ S * $ / 'Введіть вираз
Щоб бути прийнятим перший матч pattern'a # значення і повинно digerine uymamasi
$ DegerTablosu = Array (
'CDATA' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # першій і останній символ \ S Не будь-який текст kosuluyla
'/ ^ \ S *$/'),
'Символ' => Array ( '/ ^ \ S * ([\ w. ...........]) \ S * $ / I', # тільки один символ
'/ ^ \ S *$/'),
'Колір' => Array ( '/ ^ \ S *((?:#[ 0-9abcdef] (6 })|(?:[ \ W] +)) \ S * $ / I', # ім'я кольору або DA # 000000 формат коду кольору
'/ ^ \ S *$/'),
'ContentTypes' => Array ( '/ ^ \ S *([^,]+.*[^ \ S,] +) \ S * $ / I', #, список символів, розділених
'/ ^ \ S *$/'),
'Координати' => Array ( '/ ^ \ S * ([0-9 \.] + [0-9 \., \ S] * [0-9 \.] +) \ S * $ / I', #, символи і цифри, розділені
'/ ^ \ S *$/'),
'CUSTOM_ALIGN' => Array ( '/ ^ \ S *((?: Top )|(?: Близькому нижньому лівому )|(?: )|(?: центру )|(?: права )|(?:) | (?: виправдати)) \ S * $ / I ',
'/ ^ \ S *$/'),
'CUSTOM_CLEAR' => Array ( '/ ^ \ S *((?: ніхто )|(?: все )|(?: )|(?: лівий правий)) \ S * $ / I',
'/ ^ \ S *$/'),
'CUSTOM_DIR' => Array ( '/ ^ \ S *((?: LTR RTL )|(?:)) \ S * $ / I',
'/ ^ \ S *$/'),
'CUSTOM_TYPE' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'CUSTOM_VALIGN' => Array ( '/ ^ \ S *((?: Top )|(?: Близькому )|(?: нижньому )|(?: базові)) \ S * $ / I',
'/ ^ \ S *$/'),
'DATETIME' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'ID' => Array ( '/ ^ \ S * ([A-Za-Z] + [W \. \ -:]*) \ S * $ / I', # Перший символ листи мають бути
'/ ^ \ S *$/'),
'IDREF' => Array ( '/ ^ \ S * ([\ W \. \ -:]+) \ S * $ / I',
'/ ^ \ S *$/'),
'IDREFS' => Array ( '/ ^ \ S * ([\ W \. \ -: \ S] +) \ S * $ / I', # список розділених пробілами по IDREF
'/ ^ \ S *$/'),
'LanguageCode' => Array ( '/ ^ \ S * ([A-Za-Z] + [W \. \ -:]*) \ S * $ / I', # ID
'/ ^ \ S *$/'),
'Довжина' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'LinkTypes' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'NUMBER' => Array ( '/ ^ \ S * ([0-9] +) \ S * $ / I', # повинен бути хоча б одна цифра
'/ ^ \ S *$/'),
'Пикселей' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'СФЕРА' => Array ( '/ ^ \ S *((?: Col )|(?: )|(?: рядка COLGROUP )|(?: rowgroup)) \ S * $ / I',
'/ ^ \ S *$/'),
"Фігури" => Array ( '/ ^ \ S *((?: Rect )|(?: поле )|(?: кола )|(?: за замовчуванням)) \ S * $ / I',
'/ ^ \ S *$/'),
'StyleSheet' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I',

'/ ('. # Стилів заборонені у висловах
"Експрес [II] на | '. # Виразів
'SCR [II] PT |'. # Script
'&#|'. # & #
'\ / \ * |'. # / *
'\ * \ /'. # * /
')/'),

'TEXT' => Array ( '/ ^ \ S *(.*[^ \ S] +) \ S * $ / I', # CDATA з тим же
'/ ^ \ S *$/'),
'TFrame' => Array ( '/ ^ \ S *((?: Void )|(?: вище )|(?: нижче )|(?: hsides )|(?: LHS )|(?: ГПЗ) | (?: vsides )|(?: кордоні )|(?: коробці)) \ S * $ / I ',
'/ ^ \ S *$/'),
'TRules' => Array ( '/ ^ \ S *((?: ніхто )|(?: групи )|(?: COLS строк )|(?: все )|(?:)) \ S * $ / I '
'/ ^ \ S *$/'),
'URI' => Array ( '/ ^ \ S * ([^ \ S] *) \ S * $ / I',

'/ ('. # URI заборонено у висловах
"Експрес [II] на | '. # Виразів
'SCR [II] PT |'. # Script
'&#|'. # & #
'\ / \ * |'. # / *
'\ * \ /'. # * /
')/'),

'YEREL_URI' => Array ( '/ ^ \ S * ('. # Bulunduğu сервер не приймає, крім посилання URI
'((?: HTTP: \ / \ / '. Str_replace ('.',' \ \.', $ _SERVER [ 'SERVER_NAME']).' [^ \ S ]*)|'.
'(?:[^: \ S ]*))'.
') \ S * $ / I',

'/ ('. # URI заборонено у висловах
"Експрес [II] на | '. # Виразів
'SCR [II] PT |'. # Script
'&#|'. # & #
'\ / \ * |'. # / *
'\ * \ /'. # * /
')/'),
);

# Функція = "значення" або функція шаблону formatina міністра
OzellikSablon $ = '/ ^ \ S * ([\ W ]+)(?: \ S *= \ S *(?:'.
'(?:"([^"]*)")|'. # Формат "Значення", в даному випадку в значенні "бути використані
'(?:([^" \ '\ S ,]*))|'. # VALUE формату, значення в цій ситуації ", і використовувати відстань
'(?: \' ([^ \ '] *) \') '. Бути використана # 'формат значення', в цьому випадку значення '
'))? \ S *(.*)/ SI';

Return True;
)
?>

Ви можете залишити відповідь, або Архів з вашого власного сайту.

Написати відповідь