Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Безопасный и удобный поиск в mySQL????????????????
Форумы портала PHP.SU » Разное » Обсуждение статей » Безопасный и удобный поиск в mySQL????????????????

Страниц (1): [1]
 

1. Юрасик - 02 Марта, 2008 - 18:18:45 - перейти к сообщению
Не понял
Прочел статью "Безопасный и удобный поиск в mySQL" и попытался реализовать!
Вообщем поиск был реализован, но функция проверки количества символов в строке
(у автора не менее 2-ух) не работает. Регулярное выражение не работает!
PHP:
скопировать код в буфер обмена
  1. $good = trim(preg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $search ")));

ПАМАГИТЕ! КТО МОЖЕТ!
2. RomAndry - 02 Марта, 2008 - 20:58:06 - перейти к сообщению
Цитата:
Регулярное выражение не работает!

это не ответ
что именно не работает?
как вы проверяли? что делали?
3. valenok - 03 Марта, 2008 - 06:20:27 - перейти к сообщению
!!!!!!!!!!!!!!!!!!!!!

PHP:
скопировать код в буфер обмена
  1. function utf8_strlen($string){
  2.   return strlen(utf8_decode($string));
  3. }
  4.  




PHP:
скопировать код в буфер обмена
  1.  
  2. if ( !preg_match('/^\w{,10}$/u', $firstname) ) {
  3.    die($firstname . ' is too long');
  4. }
4. Юрасик - 03 Марта, 2008 - 20:43:31 - перейти к сообщению
RomAndry пишет:
Цитата:
Регулярное выражение не работает!

это не ответ
что именно не работает?
как вы проверяли? что делали?

Хорошо А делал я вот что:
забабахал вот такой код
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $search='Любое слово'
  4. // $good результат наших мучений
  5. // ereg_replace(" +", " "," $search ")  сжимаем двойные пробелы (по мнению автора)
  6. // то что сжали сравниваем с регулярным выражением "/\s(\S{1,2})\s/"
  7. // то что в {1,2} определяет диапазон символов может быть {1,3} и т.д.
  8. // если есть совпадения по регулярному выражению то заменяем на " " т.е. на пусто
  9. // если нет совпадений удаляем пробелы в начале и конце строки и измученный $search переходит в $good
  10. $good = trim(preg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $search ")));
  11. ?>

Проблема считаю в рег. выражении оно не работает т.е. устанавливаю $search='эо' это
значение и переходит в $good. Хотя по задумке " " на пусто!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ok????????????????
(Добавление)
valenok пишет:
!!!!!!!!!!!!!!!!!!!!!

PHP:
скопировать код в буфер обмена
  1. function utf8_strlen($string){
  2.   return strlen(utf8_decode($string));
  3. }
  4.  




PHP:
скопировать код в буфер обмена
  1.  
  2. if ( !preg_match('/^\w{,10}$/u', $firstname) ) {
  3.    die($firstname . ' is too long');
  4. }

valenok спасибо!
Обязательно попробую твой код, хотя и мудрено!
Хочется по проще!

 

Powered by ExBB FM 1.0 RC1