![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod html
Cytat <div id="p1" class="posthead"> <h3>fdsfsdfs</h3> </div> <div class="postbody"> <div class="user online"> fdsfsd </div> <div class="post-entry"> <h4 class="entry-title">Topic: Test post</h4> <div class="entry-content"> <p id="p_1">fdsfsdfssdfs</p> </div> </div> </div> I jak za pomocą wyrażeń regularnych dodać to co jest na czerwonym (na podstawie rego pogrubionego)? Konkretnie to mam problem z nowymi liniami, bo utknąłem w takim momencie:
Takie coś jeszcze działa (chodzi o to że zamienia), ale jak już dochodzą nowe linie to zaczynam się gubić. Próbowałem czegoś takiego: Kod ((.*\s*)*) dla nowych linii ale nie chce działać. Jak to dokładniej zrobić? Ten post edytował daris 11.02.2008, 18:53:46 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
I jak za pomocą wyrażeń regularnych dodać to co jest na czerwonym (na podstawie rego pogrubionego)? Hmm... nie rozumiem... co KONKRETNIE chcesz zrobić...? Konkretnie to mam problem z nowymi liniami, bo utknąłem w takim momencie: Nie wiem czy ci to pomoże ale możesz użyć modifiera 's'... tym sposobem kropka (.) dopasuje także znaki końca linii... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod:
A chcę z niego zrobić coś takiego: Cytat <div id="p1" class="posthead"> <h3>fdsfsdfs</h3> </div> <div class="postbody"> <div class="user online"> fdsfsd </div> <div class="post-entry"> <h4 class="entry-title">Topic: Test post</h4> <div class="entry-content"> <p id="p_1">fdsfsdfssdfs</p> </div> </div> </div> (to pogrubione chcę dodać). Potrzebne mi jest to do javascirptu, a że ten tekst jest automatycznie generowany więc jedyne wyjście to zamieniać go po ob_get_contents() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to wyciągnij sobie to 'id="p1"' za pomocą preg_match" title="Zobacz w manualu PHP" target="_manual i tego wyrażenia co tam już masz... powinno działać... potem, jako że masz tylko jeden znacznik <p> zamień go sobie prostym str_replace" title="Zobacz w manualu PHP" target="_manual na <p $dopasowany_kawalek>...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
A nie da się tego zrobić za pomocą preg_replace?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie można ale po co jak można prościej...? :/
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jednak stringi są łatwiejsze od wyrażeń regularnych ;P
Ten post edytował daris 11.02.2008, 21:02:16 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
tutaj kłania się reguła KISS (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
EDIT: No i widzisz (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował radex_p 11.02.2008, 21:03:30 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale problem nadal nie rozwiązany bo w innnym "projekcie" też to jest (tu się nie da tego ominąć stringami bo jest bardziej skomplikowane).
Więc jakim wyrażeniem regularnym objąć takie coś: Kod to jest coś tam a w następnej linii jest następne coś tam w jeszcze następnej jest to (tu występują tabulatory i nowe linie i z tym jest właśnie problem) Ten post edytował daris 11.02.2008, 21:36:17 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
nowotny - O ile dobrze rozumiem, chodzi o to, żeby nie było problemu ani z nowymi liniami, ani z tabulatorami
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat O ile dobrze rozumiem, chodzi o to, żeby nie było problemu ani z nowymi liniami, ani z tabulatorami Właśnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Może inaczej: Kod <div> to jest coś tam a w następnej linii jest następne coś tam w jeszcze następnej jest to </div> i teraz jakim wyrażeniem wyciągnąć zawartość div'a? Kod /\<div\>(.*)\<\/div\>/ nie działa, więc trzeba jakoś dokładniej określić co się w tym div'ie znajduje ale jak? Bawiłem się czymś w stylu ([.\s]*) ale takie regexp'y teź nie chcą działać Ten post edytował daris 11.02.2008, 22:59:39 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Musisz sobie ustawić modifiera 's' żeby kropka łapała także nowe linie... (hmm... przysiągłbym że już to dzisiaj tutaj pisałem... :/)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Możesz graficznie? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (bo za drugim razem też nie zrozumiałem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ). Napisałbyś coś w stylu ((.*\s*)*) a nie tak się rozpisujesz (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
http://pl2.php.net/manual/pl/reference.pcr...n.modifiers.php Poszukaj i poczytaj sobie trochę o pattern modifiers... Ten post edytował nowotny 11.02.2008, 23:45:15 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
To o takie coś chodziło (a ja myślałem że pisałeś coś o \s (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Nie można było tak od razu? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jutro sprawdzę czy to działa bo dzisiaj już m się nie chce ;P edit: znaczy dzisiaj sprawdzę bo już północ minęła (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował daris 12.02.2008, 00:15:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:26 |