Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: проверка строки на символы

Сообщения:  [1-10]   [11-13] 

 
 автор: freeing   (12.02.2010 в 10:42)   письмо автору
 
   для: Trianon   (12.02.2010 в 10:07)
 

ладно, спасYбо )))

  Ответить  
 
 автор: Trianon   (12.02.2010 в 10:07)   письмо автору
 
   для: freeing   (12.02.2010 в 09:25)
 

Какого еще синтаксиса килограмм?
Синтаксис не в килограммах меряется, а в штуках терминалов/нетерминалов - символов исходной/целевой грамматики.




<?php
    $Array 
= Array 
    ( 
        
"a""b""c""d""e""f""g""h""i""j""k""l""m"
        
"n""o""p""q""r""s""t""u""v""w""x""y""z"
        
"1""2""3""4""5""6""7""8""9""0" 
    
); 

    
$str "sdfgsdfgsdfgdr$tgd sdfgsyt";

    print   
preg_match('/^['.preg_quote(implode(''$Array), '/').']+$/'$str
          ? 
"true" 
          
"false";
?>

И таки да.
Для особо упёртых вынужден повторить. В слове String буква игрек отсутствует.

  Ответить  
 
 автор: freeing   (12.02.2010 в 09:25)   письмо автору
 
   для: Trianon   (11.02.2010 в 23:02)
 

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

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

  Ответить  
 
 автор: Trianon   (11.02.2010 в 23:02)   письмо автору
 
   для: freeing   (11.02.2010 в 16:32)
 

>логику упростить можно?

implode(), preg_quote(), preg_match()

  Ответить  
 
 автор: freeing   (11.02.2010 в 16:32)   письмо автору
 
   для: .heed   (09.02.2010 в 21:31)
 

сделал так:


<?php
    $Array 
= Array 
    ( 
        
"a""b""c""d""e""f""g""h""i""j""k""l""m"
        
"n""o""p""q""r""s""t""u""v""w""x""y""z"
        
"1""2""3""4""5""6""7""8""9""0" 
    
); 

    
$Stryng "sdfgsdfgsdfgdr$tgd sdfgsyt";

    foreach(Array as 
$A)
    {
        
$B.= $A;
    }

    if(
strlen($this->Request) !== strspn($Stryng $B))
    {
        
// ..
    
}
?>


синтаксис или логику упростить можно?

  Ответить  
 
 автор: .heed   (09.02.2010 в 21:31)
 
   для: .heed   (09.02.2010 в 21:28)
 

просто не понял сразу что проверяется строка а не массив :)

  Ответить  
 
 автор: .heed   (09.02.2010 в 21:28)
 
   для: freeing   (09.02.2010 в 17:57)
 

как вариант можно создать ещё один массив с нужными значениями, и сравнить размер с размером исходного или просто сравнить массивы
$array_2 = preg_grep('/^[0-9a-z]$/', $array);
или проверить на заполненность массив с ненужными строками '/^[^0-9a-z]$/'
или preg_replace(_callback) работают с массивами

  Ответить  
 
 автор: Trianon   (09.02.2010 в 20:32)   письмо автору
 
   для: freeing   (09.02.2010 в 17:57)
 

и что, что динамический? preg_match - статический чтоли?
implode() и preg_quote() никто не отменял.

  Ответить  
 
 автор: Loki   (09.02.2010 в 19:21)   письмо автору
 
   для: freeing   (09.02.2010 в 15:53)
 

http://ru.php.net/strpos

  Ответить  
 
 автор: freeing   (09.02.2010 в 17:58)   письмо автору
 
   для: Trianon   (09.02.2010 в 16:07)
 

может как то так


<?php

//..

$res false;

foreach(
$this->Array["Symbol"] as $A)
{
    if(
current($this->Request,  $A) === true)
    {
        
$res true;

        break;
    }
}

echo(
$res);

//..

?>

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования