За последние 24 часа нас посетили 98979 программистов и 5774 робота. Сейчас ищет 2541 программист ...

строки в php

Тема в разделе "PHP для новичков", создана пользователем andryan00, 16 мар 2016.

  1. andryan00

    andryan00 Новичок

    С нами с:
    16 мар 2016
    Сообщения:
    2
    Симпатии:
    0
    Помогите, в строках полный ноль. Нужно разработать PHP-скрипт, в котором Исключены из строки группы символов, расположенные между символами «/*», «*/» включая границы . Предполагается, что нет вложенных скобок. Можно использовать только строковые функции. Использовать функции работы с датами и файлами, регулярные выражения и прочее запрещается.
    Код (PHP):
    1. <html>
    2. <head>
    3. </head>
    4. <body>
    5. <form method="post">
    6. <p>
    7. <textarea rows="10" cols="70" name="okno"></textarea></p>
    8. <p>
    9. <input type="submit" value="Преобразовать" name="create"></p>
    10. </form>
    11.  
    12. <?php
    13. function rrr($str){
    14. $user = strstr($str, '/*', true); // Начиная с PHP 5.3.0
    15. $domain = strstr($str, '*/');
    16. $q = str_replace(array('*/'),'',trim($domain));
    17. return "$user $q";
    18. }
    19. ?>
    20.  
    21. <?php
    22. $str=$_POST["okno"];
    23. echo rrr($str);
    24. ?>
    25. </body>
    26. </html>
    написал вот это, но он выполняет только 1 действие

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.971
    Симпатии:
    753
    Код (PHP):
    1. <?php
    2.  
    3. /* мне кажется, или это комментарий ?  */
    4.  
    5. ?>
     
  3. andryan00

    andryan00 Новичок

    С нами с:
    16 мар 2016
    Сообщения:
    2
    Симпатии:
    0
    В поле текст вводится строка, нужно удалить внутренности этого "Комментария"
     
  4. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Может так?
    Код (PHP):
    1. substr($str, strpos($str, '/*'), strripos($str, '*/'));
    Хотя зачем такие сложности. Почему регулярками нельзя?
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Этот как раз не сложности, а быстрая и не дорогая альтернатива регуляркам.
     
  6. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Ну это уже дело вкуса.

    Мне так больше нравиться:
    Код (PHP):
    1. preg_replace('/\/\*(.*?)\*\//i', '', $str) 
    Коротко и красиво для глаза. Видно сразу что делает, а не 5 функций друг в друге, попробуй разбери. У функций для строк ещё такие названия...

    Хотя это дело эстетики уже.
     
  7. Period

    Period Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    148
    Симпатии:
    1
    А как это можно сделать, используя функции работы с датами и файлами?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Находишь ближайшее /*, все, что следует до него, пишешь в первый файл. Находишь ближайшее */, все, что после него, пишешь в файл. При этом, в третий файл пишешь даты, часы минуты, секунды из таймштампа создания первого и второго файлов, чтобы скрипт поддерживал работу со многими пользователями, ведь нам лень придумывать другой механизм разграничения. Потом в третьем файле находишь метки на файлы, стоящие рядом по времени с минимальным интервалом, читаешь эти файлы, склеиваешь.

    Вуаля!

    Нет, серьезно. [​IMG]