Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   PHP Запретить все кроме зяпятой - Облако тегов (https://forum.antichat.xyz/showthread.php?t=177004)

Adio 07.02.2010 17:57

PHP Запретить все кроме зяпятой - Облако тегов
 
Вообщем ситуация такая.
Как создать правильно правило для ввода тегов через зяпятую ?

Т.е если юзер ввел облако тего через пробле ему должно говориться что нужно ставить запятую.

Вообщем как правильно отфильтровать поле с метками ?

Помогите. что то бошка вообще не соображаеш после работы.. :(

mr.The 07.02.2010 18:04

$tags=explode(",",$tags);

превращает из строки тегов - в массив тегов. А так, юзеру можно только написать и предупредить.

Цитата:

Т.е если юзер ввел облако тего через пробле ему должно говориться что нужно ставить запятую.
может он там ввёл словосочетание, а не одно слово. Так что никак.

Deathdreams 07.02.2010 18:06

Можно заюзать такой говнокод, который будет проверять каждый введёный символ и если он не запятая и не a-zA-Zа-я-А-Я0-9 , то кинуть на какую либо страницу

Adio 07.02.2010 18:10

А если он не поставил запятую то у меня все одним словом идет... то как тогда ? т.е что сделать что бы юзер ставил запятую а без нее не мог запостить ? как проверить есть там запятая или нету ?

Deathdreams 07.02.2010 18:11

Вот реализацие сего говнокода:

PHP код:


$str 
"облако тегов";

foreach( 
$str as $n => $value ) {

              if( !
preg_match("#[a-zA-Zа-яА-Я0-9_,\s]#"$value) ) //набор символов на свой вкус
                   
$str false; break;

                                                   }

if( !
$str //тут делать, если в строке присутствуют всякие левые символы 


Adio 07.02.2010 18:12

Вот значение котороя у меня применяеться только для текста -


"noSpecialCaracters":{
"regex":"/^[0-9a-zA-Z]/",
"alertText":"* No caratteri speciali"},


может его как то переделать для запятой ?

Adio 07.02.2010 18:12

Цитата:

Сообщение от Deathdreams
Вот реализацие сего говнокода:

PHP код:


$str 
"облако тегов";

foreach( 
$str as $n => $value ) {

              if( !
preg_match("#[a-zA-Zа-яА-Я0-9_,\s]#"$value) ) //набор символов на свой вкус
                   
$str false; break;

                                                   }

if( !
$str //тут делать, если в строке присутствуют всякие левые символы 


Спасибо но у меня на стороне Jquery+Ajax идет проверка кода я показал код чуть выше ..

Deathdreams 07.02.2010 18:12

Цитата:

Сообщение от Adio
А если он не поставил запятую то у меня все одним словом идет... то как тогда ? т.е что сделать что бы юзер ставил запятую а без нее не мог запостить ? как проверить есть там запятая или нету ?

if( !strpos("string", ",") ) die("нету запятой");

Adio 07.02.2010 18:18

Цитата:

Сообщение от Deathdreams
if( !strpos("string", ",") ) die("нету запятой");

Я понимаю.

А как сделать это с этой регуляркой ?



"regex":"/^[0-9a-zA-Z]/",

Adio 07.02.2010 18:20

у меня просто все через jquery без перезагрузки страницы. а твой вариант пока я не нажму сабмит не подейсвует..


Время: 20:07