регулярное выражение, ограничители!

_Juri_

Новичок
регулярное выражение, ограничители!

Привет!
Народ, помогите, плз, чайнику!
И простите если где-то уже обсуждалась!
Ситуация – есть перечень слов которые я хочу экранировать! (строю систему защиты!)
Скрипт:
PHP:
<?php
$in="START INSERT PHP JSSCRIPT JS_SCRIPT JAVASCRIPT JS VBSCRIPT SCRIPT PERL CHAR LOAD_FILE 
		INCLUDE INCLUDE_ONCE REQUIRE REQUIRE_ONCE TEST";
$arr_bad_word=array('IN', 'SELECT', 'AND', 'OR', 'UNION', 
				'INSERT', 'UPDATE', 'DELETE', 'DROP', 'WHERE', 'LIKE',  
				'SCRIPT', 'PHP', 'JAVASCRIPT', 'JS' , 'VBSCRIPT','PERL', 
				'CHAR', 'LOAD_FILE', 'INCLUDE', 'INCLUDE_ONCE', 'REQUIRE', 'REQUIRE_ONCE');
$arr_good_word=array('[=]IN[-]', '[=]SELECT[-]', '[=]AND[-]', '[=]OR[-]', '[=]UNION[-]', 
					 '[=]INSERT[-]', '[=]UPDATE[-]', '[=]DELETE[-]', '[=]DROP[-]', 
					 '[=]WHERE[-]', '[=]LIKE[-]', '[=]SCRIPT[-]', '[=]PHP[-]', 
					 '[=]JAVASCRIPT[-]', '[=]JS[-]' , '[=]VBSCRIPT[-]', '[=]PERL[-]', 
					 '[=]CHAR[-]', '[=]LOAD_FILE[-]', '[=]INCLUDE[-]', 
					 '[=]INCLUDE_ONCE[-]', '[=]REQUIRE[-]', '[=]REQUIRE_ONCE[-]');
		for($t=0;$t<count($arr_bad_word);$t++)
		{					//				Перебираем массив слов
			$m='/';
			for($i=0;$i<strlen($arr_bad_word[$t]);$i++)
			{					//				Перебираем слово
				$m.='(';
				$m.=strtoupper($arr_bad_word[$t][$i]).'|'.strtolower($arr_bad_word[$t][$i]).')';
			}
			$m.='/';

			$in=preg_replace($m, $arr_good_word[$t], $in);
		}
		echo $in;
?>
Выдает :
START [=]IN[-]SERT [=]PHP[-] [=]JS[-][=]SCRIPT[-] [=]JS[-]_[=]SCRIPT[-] JAVA[=]SCRIPT[-] [=]JS[-] VB[=]SCRIPT[-] [=]SCRIPT[-] [=]PERL[-] [=]CHAR[-] [=]LOAD_FILE[-] [=]IN[-]CLUDE [=]IN[-]CLUDE_ONCE [=]REQUIRE[-] [=]REQUIRE[-]_ONCE TEST
А хотся :
START [=]INSERT[-] [=]PHP[-] [=]JSSCRIPT[-] [=]JS_SCRIPT[-] [=]JAVASCRIPT[-] [=]JS[-] [=]VBSCRIPT[-]
[=]SCRIPT[-] [=]PERL[-] [=]CHAR[-] [=]LOAD_FILE[-] [=]INCLUDE[-] [=]INCLUDE_ONCE[-] [=]REQUIRE[-] [=]REQUIRE_ONCE[-] TEST

Естественно код обрезан (шестнядцатиричные вариации и т.д.)
Помогите пожалуйста! Дока не спасает! Проблемы и с «^» и «$»! Научите чайника!
Т.е. :"/(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)/" ломает: JSSCRIPT JS_SCRIPT JAVASCRIPT VBSCRIPT SCRIPT
а надо только: SCRIPT!!!
Подскажите, плз!!!

Спасибо!!!
 

dark-demon

d(^-^)b
_Juri_, у тебя крайне неверный подход к построению системы защиты. кстати, защиты от чего?
 

_Juri_

Новичок
пролахали, ок :) !
Ну а реально! Подскажите! Половину решил!
вот трабла новая:
$in='tt sql dd';
$m='/(\W)(s)(q)(l)(\W)/';
$repl='www';
$in=preg_replace($m, $repl, $in);
echo $in;
выдает "ttwwwddd"
а как заставить:"tt www dd"?
2dark-demon: хаешь, а потом спрашиваегь енто зачем! Это как ты тогда хаешь?
Это защита от SQL и PHP инжекшина!
 

hermit_refined

Отшельник
Сверху