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

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

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

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

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    чем расшифровывается такая неняшная штука \u0421\u043a\u0430\u0447\u0430\u0442\u044c
     
  2. Ponchik

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

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    онлайн сервисы не вариант, мне в скрипте зашифровать в такое надо
    но сначало расшифровать
    А как работат http://md.php.net/json_decode вобще неопнял, покажи пример на моей строке =\
     
    #13962 Ponchik, 17 Feb 2010
    Last edited: 17 Feb 2010
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
     <?php
     
    function jdecoder($json_str) {
         
    $cyr_chars = array (
             
    '\u0430' => 'а''\u0410' => 'А',
             
    '\u0431' => 'б''\u0411' => 'Б',
             
    '\u0432' => 'в''\u0412' => 'В',
             
    '\u0433' => 'г''\u0413' => 'Г',
             
    '\u0434' => 'д''\u0414' => 'Д',
             
    '\u0435' => 'е''\u0415' => 'Е',
             
    '\u0451' => 'ё''\u0401' => 'Ё',
             
    '\u0436' => 'ж''\u0416' => 'Ж',
             
    '\u0437' => 'з''\u0417' => 'З',
             
    '\u0438' => 'и''\u0418' => 'И',
             
    '\u0439' => 'й''\u0419' => 'Й',
             
    '\u043a' => 'к''\u041a' => 'К',
             
    '\u043b' => 'л''\u041b' => 'Л',
             
    '\u043c' => 'м''\u041c' => 'М',
             
    '\u043d' => 'н''\u041d' => 'Н',
             
    '\u043e' => 'о''\u041e' => 'О',
             
    '\u043f' => 'п''\u041f' => 'П',
             
    '\u0440' => 'р''\u0420' => 'Р',
             
    '\u0441' => 'с''\u0421' => 'С',
             
    '\u0442' => 'т''\u0422' => 'Т',
             
    '\u0443' => 'у''\u0423' => 'У',
             
    '\u0444' => 'ф''\u0424' => 'Ф',
             
    '\u0445' => 'х''\u0425' => 'Х',
             
    '\u0446' => 'ц''\u0426' => 'Ц',
             
    '\u0447' => 'ч''\u0427' => 'Ч',
             
    '\u0448' => 'ш''\u0428' => 'Ш',
             
    '\u0449' => 'щ''\u0429' => 'Щ',
             
    '\u044a' => 'ъ''\u042a' => 'Ъ',
             
    '\u044b' => 'ы''\u042b' => 'Ы',
             
    '\u044c' => 'ь''\u042c' => 'Ь',
             
    '\u044d' => 'э''\u042d' => 'Э',
             
    '\u044e' => 'ю''\u042e' => 'Ю',
             
    '\u044f' => 'я''\u042f' => 'Я',
      
             
    '\r' => '',
             
    '\n' => '<br />',
             
    '\t' => ''
         
    );
      
         foreach (
    $cyr_chars as $key => $value) {
             
    $json_str str_replace($key$value$json_str);
         }
         return 
    $json_str;
     }
      
     echo 
    jdecoder("\u0421\u043a\u0430\u0447\u0430\u0442\u044c"); 
    ?>
    Воть

    Енкодер (две переменных всего переставить:)

    PHP:
     <?php
     
    function jencoder($json_str) {
         
    $cyr_chars = array (
             
    '\u0430' => 'а''\u0410' => 'А',
             
    '\u0431' => 'б''\u0411' => 'Б',
             
    '\u0432' => 'в''\u0412' => 'В',
             
    '\u0433' => 'г''\u0413' => 'Г',
             
    '\u0434' => 'д''\u0414' => 'Д',
             
    '\u0435' => 'е''\u0415' => 'Е',
             
    '\u0451' => 'ё''\u0401' => 'Ё',
             
    '\u0436' => 'ж''\u0416' => 'Ж',
             
    '\u0437' => 'з''\u0417' => 'З',
             
    '\u0438' => 'и''\u0418' => 'И',
             
    '\u0439' => 'й''\u0419' => 'Й',
             
    '\u043a' => 'к''\u041a' => 'К',
             
    '\u043b' => 'л''\u041b' => 'Л',
             
    '\u043c' => 'м''\u041c' => 'М',
             
    '\u043d' => 'н''\u041d' => 'Н',
             
    '\u043e' => 'о''\u041e' => 'О',
             
    '\u043f' => 'п''\u041f' => 'П',
             
    '\u0440' => 'р''\u0420' => 'Р',
             
    '\u0441' => 'с''\u0421' => 'С',
             
    '\u0442' => 'т''\u0422' => 'Т',
             
    '\u0443' => 'у''\u0423' => 'У',
             
    '\u0444' => 'ф''\u0424' => 'Ф',
             
    '\u0445' => 'х''\u0425' => 'Х',
             
    '\u0446' => 'ц''\u0426' => 'Ц',
             
    '\u0447' => 'ч''\u0427' => 'Ч',
             
    '\u0448' => 'ш''\u0428' => 'Ш',
             
    '\u0449' => 'щ''\u0429' => 'Щ',
             
    '\u044a' => 'ъ''\u042a' => 'Ъ',
             
    '\u044b' => 'ы''\u042b' => 'Ы',
             
    '\u044c' => 'ь''\u042c' => 'Ь',
             
    '\u044d' => 'э''\u042d' => 'Э',
             
    '\u044e' => 'ю''\u042e' => 'Ю',
             
    '\u044f' => 'я''\u042f' => 'Я',
      
             
    '\r' => '',
             
    '\n' => '<br />',
             
    '\t' => ''
         
    );
      
         foreach (
    $cyr_chars as $key => $value) {
             
    $json_str str_replace($value$key$json_str);
         }
         return 
    $json_str;
     }

    echo 
    jencoder("Скачать"); 
    ?>
    (це) Пашкело

    PS: Массивы значений конечно не мои
     
    #13963 Pashkela, 17 Feb 2010
    Last edited: 17 Feb 2010
    1 person likes this.
  4. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Проблема в парсинге большого объёма ... То есть есть такое
    <pre>
    Около 4000 строк текста
    </pre>

    preg_match_all("|<pre>(.*?)<\/pre>|is",$mass,$link_2);

    Регулярка работает при объёме около 1000 символов , что делать , может как нибудь перевести переменные в режим longstring????
    ПОМОГИТЕ , ГАРЮ
     
  5. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Всё, разобрался .
    Функция php_preg_match не может обработать текст длинной 10.000 байт , что то типа этого
    Для величения объёма потребуется заглянуть в php.ini -> а именно
    ini_set("pcre.backtrack_limit",10000000);
     
    #13965 Buffalon, 18 Feb 2010
    Last edited: 18 Feb 2010
  6. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Как можно реализовать следующее http://forum.antichat.ru/myip.php
     
  7. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    нужно отфильтровать поле ввода ($_POST['new_color']) с помощью preg_match.
    данные должны быть в 16ричной кодировке, тоесть 0123456789ABCDEF
    и допустимое количество символов в поле - 6.

    как сделать?(
     
  8. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
    preg_match('#[0-9a-f]{6}#i',$_POST['new_color'],$matches);
    print_r($matches);
     
  9. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Символы начала и конца строки еще надо
     
  10. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    я сделал так
    PHP:
    preg_match('/^([a-fA-F0-9]){6}$/',$_POST['new_color']
     
  11. DRONING

    DRONING Member

    Joined:
    16 Oct 2009
    Messages:
    109
    Likes Received:
    6
    Reputations:
    0
    Всем привет. имеется функция
    PHP:
    <?php
    $a
    =($b)+5;
    ?>
    нужно что бы значение $b поступало из html формы, и после отправки данных формы выводилось посчитаное значение $a .
    возможно ли это? если да то как? заранее спасибо.
    з.ы. не стебаться, только начал учить пых
     
  12. emillord

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

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    444
    Reputations:
    255
    Вот прочитай, будет очень полезно.
    http://www.znannya.org/?view=PHP_inauery_forms
     
  13. DRONING

    DRONING Member

    Joined:
    16 Oct 2009
    Messages:
    109
    Likes Received:
    6
    Reputations:
    0
    спасибо,узнал кое что новое. но вот как сделать что бы значение $b поступало из формы так и не понял(
     
  14. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    2DRONING
    PHP:
    <form method="POST">
    <input type="text" name="privet" /> <input type="submit" value="Отправить" />
    </form>
    <?php
    if(isset($_POST['privet'])) {
    $b intval($_POST['privet']);
    $a $b 5;
    echo 
    "Результат: <b>$a</b>";
    }
    ?>
     
    1 person likes this.
  15. DRONING

    DRONING Member

    Joined:
    16 Oct 2009
    Messages:
    109
    Likes Received:
    6
    Reputations:
    0
    спасибо большое)
     
  16. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Зачем умножать?
    сначала вычисляешь сколько записей на странице,а потом уже делаешь лимиты.
    если по 10 то такие :
    1 0,10
    2 10,20
    3 20,30

    Тока не в ручную)) Поищи тут были пару факов на эту тему
     
  17. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    PHP:
    <?php
    $onpage 
    "10"//Количество записей "на страницу"
    $now $i $onpage// $i - текущая страница 
    $query "mysql_query SELECT * FROM `accs` limit $now,$onpage"//Формируем запрос
    ?>
    не?
     
  18. OdaN

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

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    Подскажите плз, можно как-то узнать, из какова объекта был вызван метод класса?
     
  19. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Чета я не понял. Извините.
    Лучше поясни как ты хочешь проверить и что?
    Глянув на код уже можно понять из какого объкта
    $object->ClassMethod();
    Или ты хочешь узнать исходя из такого:
    $str = $object->ClassMethod();
    И уже из этой переменной узнать из какого объкта она назначилась?
     
  20. OdaN

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

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    не, немножко не так вот код:
    PHP:
    class example {
    function 
    some_func() {
    return 
    'var '.$varname.' call this function';
    }
    }

    $var1= new example;
    $var2= new example;
    $var1->some_func(); //Нужно вернуть "var $var1 call this function"
    $var2->some_func(); //Нужно вернуть "var $var2 call this function"
    или как-то так... кода просто много, и нужно для дебага...
     
Thread Status:
Not open for further replies.