• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

preg_replace - zagnieżdżenie

VPS Starter Arubacloud
0 głosów
207 wizyt
pytanie zadane 29 kwietnia 2019 w PHP przez Kedholt Początkujący (480 p.)
edycja 29 kwietnia 2019 przez Patrycjerz

Witam. Mam taki problem. Chciałbym użyć dwóch funkcji preg_replace.

$pobrane_tekst = preg_replace("/(?:\*(.*?)\*)/", "<i>$1</i>", $pobrane_tekst);
$pobrane_tekst = preg_replace("/(?:\!(.*?)\!)/", "<c>$1</c>", $pobrane_tekst);

Jednak istnieje możliwość napisania przez użytkownika tego w kolejności ' !* !* ' co powoduje działające, jednak nieeleganckie(?) ułożenie divów. Czy istnieje sposób, by zagnieździć je w sobie bez przeplatania się?

1 odpowiedź

+1 głos
odpowiedź 29 kwietnia 2019 przez niezalogowany
wybrane 29 kwietnia 2019 przez Kedholt
 
Najlepsza

Pierwszy regex można uprościć do:

/\*(.*?)\*/

Drugi regex:

/!(((?!<\/?i>).)*?)!/

Niestandardowe elementy muszą mieć myślnik w nazwie.
Może <c> zastąpić <span class="c"> ?

komentarz 29 kwietnia 2019 przez Kedholt Początkujący (480 p.)
Z drobną poprawką u mnie działa. Dzięki.

Podobne pytania

0 głosów
1 odpowiedź 581 wizyt
pytanie zadane 26 października 2016 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
+1 głos
1 odpowiedź 260 wizyt
0 głosów
1 odpowiedź 118 wizyt
pytanie zadane 26 października 2016 w PHP przez hiper007 Stary wyjadacz (11,270 p.)

93,006 zapytań

141,973 odpowiedzi

321,254 komentarzy

62,345 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...