![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z utworzeniem pewnego wyrażenia regularnego. Mianowicie, chodzi mi o takie, które poszuka mi wszystkich prostych tagów html (np. <b>, <strong>, <u> itp.) wraz z ich zawartością (kolejnych tagów z zawartością...) Utworzyłem coś takiego (regex101.com/r/rC2cE6/1): Cytat (?<html_tag>(?<open>\<(?<tag>\w+)\>))(?<content>(\g<html_tag>)|.*)(?<close>\<\/\k<tag>\>) Chciałbym otrzymać taki wynik (coś na ten wzór): CODE MATCH 1 html_tag [0-3] `<b>` open [0-3] `<b>` tag [1-2] `b` content [3-47] `pogrubienie<i>kursywa</i>i znowu pogrubienie` close [47-51] `</b>` MATCH 2 html_tag [14-28] `<i>` open [14-18] `<i>` tag [15-16] `i` content [17-24] `kursywa` close [24-28] `</i>` Czy można przy pomocy jednego wyrażenia regularnego otrzymać takie 2 wyniki? Jak miałoby wyglądać takie wyrażenie? Ten post edytował Mephis 19.05.2016, 17:16:06 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
nie jest to rewelacyjne rozwiązanie ale na szybko jestem w stanie tylko tyle pomóc
jeśli chcesz szukać zagnieżdżonych tagów to może tak szukaj kolejnej ścieżki if (isset($matches['content'])) preg_match($re, $matches['content'], $matches); var_dump($matches); i tak dalej dla kolejnej if (isset($matches['content'])) preg_match($re, $matches['content'], $matches); var_dump($matches); -------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:58 |