Моя строка содержит некоторые «горячие клавиши» формы [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 взорвать строку в массив с помощью [
разделителя
шагу 2 пройти через каждый элемент массива, чтобы увидеть, если закрытие ]
присутствует и образует один из определенных горячих клавиш, и если да, сделайте необходимое.
Очевидно, что этот метод не использует никакой регулярной силы. Мне интересно, может ли regex помочь здесь. Или, лучший способ сделать это вы можете предложить?
Должен сказать: не прочитал весь вопрос. Но вы должны google для «BBCode Parser PHP». Уже есть готовые к использованию реализации, для (как кажется) того, чего вы хотите достичь. – KingCrunch
Я думаю, что regex - это способ пойти – dotoree