Разбить строку и напечатать построчно

1

У меня длинная строка как одна строка (слишком длинная), и я хочу, чтобы она сломалась и печаталась как новая строка всякий раз, когда мы встречаем полуточку ; и } или { например

Это моя строка:

aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}

Я хочу напечатать его, как показано ниже:

aaaaaaaaaaa;
bbbbbbbbbb{
ccccccccc;
dddddddd;
}
eeeeeeee{
fffffffffff;
}

Даже если ; и } встретиться вместе Я хочу сломать его и напечатать в двух строках.
Например, jjjjjjjjjjjjj;} может отображаться как

jjjjjjjjjjj;
}

Пожалуйста, помогите мне.

  • 0
    Добавьте <br/> на каждом конце вашей линии
  • 0
    Посмотрите на preg_match() . И прочитайте немного о "регулярных выражениях". Есть много примеров для использования здесь на SO.
Показать ещё 2 комментария
Теги:

3 ответа

3

Вы можете просто использовать preg_replace как

$str = 'aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}';
$res = preg_replace('/(;|{|})/',"$1\n",$str);
print_r($res);

Вывод :

aaaaaaaaaaa;
bbbbbbbbbb{
ccccccccc;
dddddddd;
}
eeeeeeee{
fffffffffff;
}

Regex

демонстрация

1

Вы можете использовать preg_replace(/([;\{\}])/, '$1<br/>', $sourceLine) для вывода HTML. Если вывод в файл, измените '$1<br/>' на "$1\r\n"

  • 0
    ОП не хочет удалять ; } {
0

Вы также можете использовать следующий код:

$str = 'aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}';
$arr_replace_char = array(';','{','}');
$arr_replace_by = array(';<br>','{<br>','}<br>');
echo str_replace($arr_replace_char,$arr_replace_by,$str);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню