Rozważmy następujący wejście jako przykład:Jak używać wyrażenia regularnego do analizowania tego schematu akordów?
[Ami]Song lyrics herp derp [F]song lyrics continue
[C7/B]Song lyrics continue on another [F#mi7/D]line
muszę przeanalizować powyższe i echo go jak następuje:
<div class="chord">Ami</div>Song lyrics herp derp <div class="chord">F</div>song lyrics continue
<div class="chord">C7/B</div>Song lyrics continue on another <div class="chord">F#mi7/D</div>line
Więc w zasadzie muszę:
1) zmień [
na <div class="chord">
,
2) następnie dołącz zawartość nawiasów,
3) następnie zmień ]
na </div>
.
... za pomocą PHP 5.3+.
To wygląda jak schludne rozwiązanie, zastanawiam się, dlaczego wcześniej o tym nie myślałem. Czy jest szybszy/lepszy niż regex? –
@RiMerER: Powinny one być liniowe, ale to rozwiązanie będzie prawdopodobnie szybsze, ponieważ jest mniej narzutów. Równie zabawne jak regexy są, że nie zawsze są one poprawną odpowiedzią w praktyce :) – Cam
To zdecydowanie wygląda na najlepsze rozwiązanie, ale poczekam, aż inni zagłosują, zanim cokolwiek zaakceptuję, mam nadzieję, że wszystko w porządku :) –