![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
wyrazenia regularnie nigdy nie były moją mocną stroną, więc proszę was o pomoc. Potrzebuje z wiekszego kodu pobrac tabele o okreslonej klasie oraz atrybucie width i wstawic ją do elementu div. Da się to zrobić na preg_replace? Czy może jakimś innym sposobem? Poniżej przykład obrazujący co chcę uzyskać. Kod wejściowy:
Pobieram tabele o atrybucie class="jakas-klasa" i atrybucie width="30%" i wstawiam ją do elementu <div>. Przy czym kolejność atrybutów tabeli nie jest ustalona i może być inna (losowa). Kod wynikowy
Oczywiście przykłądowy kod jest mocno uproszczony. Tabele mogą sie zawierać w innych tabelach lub elementach html. Ten post edytował jol.us_ 28.10.2015, 11:43:26 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
A może zamiast wyrażeń regularnych, http://php.net/manual/en/class.domdocument.php ?
Ułatwia operacje na HTML i nie trzeba się bawić z samym konstruowaniem wyrażeń. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A coś bardziej "na tacy" dostanę?
Proszę (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tutaj masz stackoverflow jak korzystać z DOMDocument i DOMXPath:
http://stackoverflow.com/questions/2571232...tml-domdocument Tutaj obsługa dodawania i usuwania node'ów: http://php.net/manual/en/domnode.removechild.php http://php.net/manual/en/domnode.appendchild.php Oczywiście po odpowiednim użyciu DOMXPath - tam dostajesz nodelist (traversable), więc każdy element możesz sobie obrobić. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję, pomogło
Ten post edytował jol.us_ 28.10.2015, 15:46:54 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.08.2025 - 00:41 |