Моя строка должна содержать несколько «горячих клавиш» вида [hotkey]
. Например:
"This is a sample string [red] [h1]"
Когда я обрабатываю эту строку с помощью функции php, я бы хотел, чтобы функция выводила исходную строку следующим образом;
<font color='red'><h1>This is a sample string</h1></font>
Я бы хотел использовать эту функцию исключительно для удобства, чтобы упростить ввод текста. Я могу использовать тег шрифта или div или что-то еще, давайте не будем вдаваться в это. Дело в этом; горячая клавиша приведет к переносу оригинальной строки в
<something here>original string<and something there>
Таким образом, функция сначала должна определить, есть ли горячие клавиши или нет. Это легко; просто проверьте, существует ли [
Затем нам нужно будет обработать строку, чтобы определить, какие горячие клавиши существуют, и войти в логику бизнеса относительно того, какие оболочки следует развернуть.
и, наконец, нам придется очистить исходную строку от горячих клавиш и вернуть результаты обратно.
У меня вопрос: есть ли регулярное выражение, которое сделает это более эффективным, чем следующий метод синтаксического анализа, который я планирую реализовать как функцию.
шаг 1
разбить строку в массив, используя [
delimiter
шаг 2
Пройдите через каждый элемент массива, чтобы увидеть, присутствует ли закрывающий ]
и формирует ли он одну из определенных горячих клавиш, и если да, выполните необходимые действия.
Очевидно, что этот метод не использует никаких регулярных выражений. Мне интересно, может ли регулярное выражение помочь здесь. Или есть какой-нибудь лучший способ сделать это?