Ответы пользователя по тегу PHP
  • Как разделить строку по скобкам, внутри которых еще есть скобки?

    @Leopandro Автор вопроса
    Разработчик CRM/ERP систем
    Короче говоря, решение задачи посложнее этой. Очень интересное:
    $rand_sentence = "{Please|Just} make this {cool|awesome|random} test sentence {rotate {quickly|fast} and random|spin and be random}";
    
    $regexp = '#\{((?>[^{}]+)*)\}#';
    
    while(strpos($rand_sentence, '{') !== false)
       $rand_sentence = preg_replace_callback($regexp, 'replace_match_str', $rand_sentence);
    
    echo $rand_sentence . "\n";
    
    
    function replace_match_str($str)
    {
       $result = explode("|", $str[1]); // split string by "|" symbol
       $replacement = array_rand($result); // random array ellement
    
       return $result[$replacement];
    }


    Этот вопрос задавал чтобы решить часть этой задачи.
    Ответ написан
    Комментировать