[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Demetra

    Demetra Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    в регулярном указаны только допустимые символы,например на мэил латиница собака и точка,лучше на тэги проверить еще да?
     
  2. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Ну если ты в регулярном укажешь только разрешённые символы, то ненадо....хотя я бы сделал фильтрацию на всякий случай....мало ли что ))
     
  3. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Нужен скрипт переводчика.. С возможностями добавления своих слов в базу... Лучше без скуль
     
    #1243 Dimi4, 17 Dec 2007
    Last edited: 17 Dec 2007
    1 person likes this.
  4. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Ну пиши, в чём проблема? Тема называется "
    PHP:
     Новичкамзадаем вопросы" а не "[phpХалявщикампишем переводчики"  ;)

    Мой те совет юзай promt.ru или другой веб переводчик, посылай туда свой запрос, результат выводи на сайте (работа с сокетами), нарушение авторских прав и т.д. но это токо совет, решать тебе  :)
     
    #1244 Ponchik, 18 Dec 2007
    Last edited: 18 Dec 2007
  5. p0is0n

    p0is0n New Member

    Joined:
    8 Jun 2007
    Messages:
    12
    Likes Received:
    2
    Reputations:
    0
    Ты им не доверяешь?)
     
  6. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Где ошибка в коде?:
    PHP:
    <?php
    $n
    =0;
    $hash_code="";
    $hash="30313233343536373839404142434445";
    do
     {
      
    $code='0x'.$hash[$n].$hash[$n+1];
      
    $hash_code.=chr($code);
      echo 
    $n."<br>";
      echo 
    $code."<br>";
      echo 
    chr($code)."<br>";
      echo 
    $hash_code."<br>";
      
    $n++;
     }
    while (
    $n++<31
    ?>
    Вообщем в переменной $hash_code должен оказаться массив из 8 символов, код которых в "шестнадцатиричном" виде записан в переменной $hash (попарно, т.е 0x30,0x31,0x32,0x33 и т.д.)
    Вообщем почему-то chr($code) выдаёт пустой результат, хотя вроде как тип в шестнацатиричное целое должен автоматом должен преобразовываться при использовании в качестве значения функции chr
    ЗЫ Подозреваю что дело в кавычках...
     
  7. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    помойму туплю...
     
    #1247 VampiRUS, 18 Dec 2007
    Last edited: 18 Dec 2007
  8. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Кароче аргументом может быть только десятичное целое?

    И так я нечего не увижу?

    $a='0x32';
    echo chr($a);

    Как быть тогда?
     
  9. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    вот выдрал функцию перевода хекс в акси
    function hex2asc($str) {
    $str = str_replace(" ", "", $str);
    for ($n=0; $n<strlen($str); $n+=2) {
    $newstring .= pack("C", hexdec(substr($str, $n, 2)));
    }
    return $newstring;
    }


    чтоб от кавычек избавится делай hexdec()
     
    #1249 VampiRUS, 18 Dec 2007
    Last edited: 18 Dec 2007
  10. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Не надо добавлять 0x к числу и все будет Ok
     
  11. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    итого
    PHP:
    <?php 
    $n
    =0
    $hash_code=""
    $hash="30313233343536373839404142434445"
    do 
     { 
      
    $code='0x'.$hash[$n].$hash[$n+1]; 
      
    $hash_code.=chr(hexdec($code)); 
      echo 
    $n."<br>"
      echo 
    $code."<br>"
      echo 
    chr(hexdec($code))."<br>"
      echo 
    $hash_code."<br>"
      
    $n++; 
     } 
    while (
    $n++<31)  
    ?>
     
    1 person likes this.
  12. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    НЕТ, так.

    PHP:
    <?php 
    $n
    =0
    $hash_code=""
    $hash="30313233343536373839404142434445"
    do 
     { 
      
    $code=$hash[$n].$hash[$n+1]; 
      
    $hash_code.=chr($code); 
      
    //echo $n."<br>"; 
      //echo $code."<br>"; 
      
    echo chr($code)."<br>"
      
    //echo $hash_code."<br>"; 
      
    $n++; 
     } 
    while (
    $n++<31)  
    ?>
     
  13. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    ИЛИ, еще лучше, так.
    PHP:
    <?php 
    $n
    =0
    $hash_code=""
    $hash="30313233343536373839404142434445"
    for(
    $n=0;$n<strlen($hash);$n+=2
     { 
      
    $code=substr($hash,$n,2); 
      
    $hash_code.=chr($code); 
      
    //echo $n."<br>"; 
      //echo $code."<br>"; 
      
    echo chr($code)."<br>"
      
    //echo $hash_code."<br>"; 
      
     

      
    ?>
     
  14. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    не Macro, как я понял нужно было как раз из хекса в аски
     
  15. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    теперь мд5 хэши в таблице мускула займут не 32 байта на поле, а всего 16 (что в два раза меньше), кроме того поиск будет осуществляться быстрее...
     
    1 person likes this.
  16. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Ога, именно так...
     
  17. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Я все проверил, мой код прелестно работает. А функция chr возвращает ascii код hex значения ;)

    Вот ловите

    PHP:
    <?
    function 
    hex2string($hex)
    {
    $decoded='';
    for(
    $i=0;$i<strlen($hex);$i+=2)
    {
    $decoded.=chr(substr($hex,$i,2));
    }
    return 
    $decoded;}
    echo(
    hex2string('3332353637383940'));
    ?>
     
    #1257 Macro, 18 Dec 2007
    Last edited: 18 Dec 2007
  18. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Если в базе только проверенные данные:
    PHP:
    echo preg_replace('/(\d{2})/e''chr(\1)''3332353637383940');
     
    1 person likes this.
  19. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Ты не прав ибо HEX подразумевает цифры и буквы от a до f

    Однако, мысль отличная.
    PHP:
    <?
    $str='3334353637383940';
    echo(
    preg_replace('/([\da-f]{2})/ie''chr(\1);',$str));
    ?>

    ЗЫ что-то я сегодня плохо соображаю
     
    #1259 Macro, 18 Dec 2007
    Last edited: 18 Dec 2007
  20. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    функция chr принимает только целые числа
     
    #1260 astrologer, 18 Dec 2007
    Last edited: 18 Dec 2007
Thread Status:
Not open for further replies.