Проблеми с preg_match

ludasam

Registered
Имам проблем със следните символи _-[]{}/| <>()^*@!.:;# , би трябва да бъдат разрешени, но ми вади грешка: error , вместо success, някакви идеи

PHP:
<?php
$test = " test 1 _-[]{}/| <>()^*@!.:;#  ";
$test = trim($test);
if(!preg_match('#^[a-z0-9\s_-[]{}/| <>()^*@!.:;#]+$#iu', $test)) {
	echo "error";
} else {
	echo "success";
}
?>

Warning: preg_match() [function.preg-match]: Unknown modifier ']' in /home/itsam/public_html/posting.php on line 4
error
 
При сайта по-горе, който си посочил:
The requested resource could not be loaded because the server returned an error:
403 Forbidden (?).

При кода ми дава грешка:
Warning: preg_match() [function.preg-match]: Unknown modifier ']' in /home/itsam/public_html/posting.php on line 4
error
 
трябва дефинираш повечето като знаци защото те ппц са запазени... като [a-z] и т.н, както и () и ^ защото това е "отрицание", | е нещо като "или" , * е почти като +са иии т.н а и си оградил израза с # няма как вътре пак да имаш #

това ще ти е проверката
PHP:
if(!preg_match('#^[a-z0-9\s\_\-\[\]\{\}\| \<\>\(\)\^\*\@\!\.\:\;\#]+$#iu', $test)) {
 
Сега поне не ми дава някакъв warning , а ми пише error. Пак има някакво разминаване..

PHP:
<?php
$test = " test 2 _-[]{}/| <>()^*@!.:;# ";
$test = trim($test);
if(!preg_match('#^[a-z0-9\s\_\-\[\]\{\}\| \<\>\(\)\^\*\@\!\.\:\;\#]+$#iu', $test)) {
	echo "error";
} else {
	echo "success";
}
?>

ЕДИТ: беше пропуснал / , поправих го;
PHP:
<?php
$test = "test 2 _-[]{}/| <>()^*@!.:;# ";
$test = trim($test);
if(!preg_match('#^[a-z0-9\s\_\-\[\]\{\}\| \<\>\(\)\^\*\@\!\.\:\;\#\/]+$#iu', $test)) {
	echo "error";
} else {
	echo "success";
}
?>

+1, мерси :)
 

Back
Горе