За последние 24 часа нас посетили 210339 программистов и 2232 робота. Сейчас ищут 1553 программиста ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @ubunta2 расскажи о себе. Чем ты занимался в интернете до PHP?
     
  2. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Я есть Грут..
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    это важно?
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @ubunta2 да. Ну знаешь, обычно за программирование берутся люди, знакомые с компьютером, а за веб-программирование - знакомые с веб и html.
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. <!DOCTYPE html>
    2. <html lang='ru'>
    3. <head>
    4.   <title>Философия</title>
    5.   <meta charset='utf-8'>
    6. </head>
    7. <body>Представляется логичным, что сомнение представляет онтологический смысл жизни. Отношение к современности поразительно.</body>
    8. </html>
    ага вот она
    исходный код посмотрел
    --- Добавлено ---
    знаком немного
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Если внимательно посмотреть на экран, то можно найти надпись "Философия" не только в исходном коде
    --- Добавлено ---
    особенно, если страница открыта в отдельном окне
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.824
    Симпатии:
    1.333
    Адрес:
    Лень
    strtr юзай для твоего случая
     
  8. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    вроде понял
    --- Добавлено ---
    увидел
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.824
    Симпатии:
    1.333
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. error_reporting ( E_ALL );
    4.  
    5. ob_start ( function ( $BUFFER )
    6. {
    7.     $A = [
    8.         '{TITLE}' => 'Философия',
    9.         '{BODY}' => 'Представляется логичным, что сомнение представляет онтологический смысл жизни. Отношение к современности поразительно.'
    10.     ];
    11.  
    12.     return strtr ( $BUFFER, $A );
    13. } );
    14.  
    15. require dirname ( __FILE__ ) . DIRECTORY_SEPARATOR . 'html.php';
    16.  
    html.php
    HTML:
    1.  
    2. <!DOCTYPE html>
    3. <html lang='ru'>
    4.    <title>{TITLE}</title>
    5.    <meta charset='utf-8'>
    6. </head>
    7.    {BODY}
    8. </body>
    9. </html>
    10.  
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.824
    Симпатии:
    1.333
    Адрес:
    Лень
    важна практика
     
  12. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php ## Транслитерация строк.
    2.  function transliterate($st) {
    3.     $st = strtr($st,
    4.       "абвгдежзийклмнопрстуфыэАБВГДЕЖЗИЙКЛМНОПРСТУФЫЭ",
    5.       "abvgdegziyklmnoprstufyeABVGDEGZIYKLMNOPRSTUFYE"
    6.     );
    7.     $st = strtr($st, array(
    8.       'ё'=>"yo",    'х'=>"h",  'ц'=>"ts",  'ч'=>"ch", 'ш'=>"sh",
    9.       'щ'=>"shch",  'ъ'=>'',   'ь'=>'',    'ю'=>"yu", 'я'=>"ya",
    10.       'Ё'=>"Yo",    'Х'=>"H",  'Ц'=>"Ts",  'Ч'=>"Ch", 'Ш'=>"Sh",
    11.       'Щ'=>"Shch",  'Ъ'=>'',   'Ь'=>'',    'Ю'=>"Yu", 'Я'=>"Ya",
    12.     ));
    13.     return $st;
    14.   }
    15.   echo transliterate("У попа была собака, он ее любил.");
    16. ?>
    Z� ZIZGZIZb ZgYFZAZb YMZGZgZbZyZb, ZGZD ZlZl ZAY�ZgZsZA.
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Скорее всего, дело в многобайтной кодировке.
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.824
    Симпатии:
    1.333
    Адрес:
    Лень
    у strtr по байтовое замещение при использовании функции как strtr( string, [ string, string ] )

    c использованием массива решит вопрос, как начат с 7 строки.

    удаляй с 3 по 6
    --- Добавлено ---
    разведка куку:
    https://phpclub.ru/talk/threads/Транслитерация-strtr-и-utf-8.53632/
     
  15. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    У попа была собака, он ее лyuбил.
    вывелось
    PHP:
    1. <?php ## Транслитерация строк.
    2.  function transliterate($st) {
    3.    
    4.     $st = strtr($st, array(
    5.       'ё'=>"yo",    'х'=>"h",  'ц'=>"ts",  'ч'=>"ch", 'ш'=>"sh",
    6.       'щ'=>"shch",  'ъ'=>'',   'ь'=>'',    'ю'=>"yu", 'я'=>"ya",
    7.       'Ё'=>"Yo",    'Х'=>"H",  'Ц'=>"Ts",  'Ч'=>"Ch", 'Ш'=>"Sh",
    8.       'Щ'=>"Shch",  'Ъ'=>'',   'Ь'=>'',    'Ю'=>"Yu", 'Я'=>"Ya",
    9.     ));
    10.     return $st;
    11.   }
    12.   echo transliterate("У попа была собака, он ее любил.");
    13. ?>
    в книге по другому вывод
     
  16. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    почему
     
  17. Васяня

    Васяня Активный пользователь

    С нами с:
    2 окт 2016
    Сообщения:
    238
    Симпатии:
    32
    Адрес:
    Россия, Приморский край, г. Находка.
    Потому что у тебя транслетирируется только одна буква из строки, замени стоки с 3 по 5 массивом как в строках 7 -12.
    --- Добавлено ---
    Снимок.JPG
    --- Добавлено ---
    В песочнице заменяет как надо
     
  18. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    теперь понял.
    значит в книге ошибка
     
  19. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Код из первого поста сработал бы в однобайтовых кодировках, типа cp1251
     
  20. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    и что сделать чтоб он сработал
     
  21. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @ubunta2, тебе уже подсказали же.
     
  22. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @ubunta2 можно на str_replace переделать, она работает с много байтовыми кодировками
     
  23. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php
    2.   // Преобразуем JSON-данные в массив
    3.   $arr = json_decode($_POST['json'], true);
    4.   // Объединяем содержимое в строку
    5.   $name = trim(implode(" ", $arr));
    6.  
    7.   $result = "Здравствуйте";
    8.   if(!empty($name))
    9.     $result .= ", $name";
    10.   $result .= "!";
    11.  
    12.   // Отдаем результат
    13.   echo htmlspecialchars($result);
    14. ?>


    Warning: implode(): Invalid arguments passed in E:\OpenServer\domains\test\json_answer.php on line 5
    Здравствуйте!
     
  24. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.870
    Симпатии:
    753
    Адрес:
    Татарстан
    var_dump($arr) скорее всего скажет - что это не совсем массив строк
     
  25. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    null
    еще вывелось и ошибка