![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 22.12.2006 Ostrzeżenie: (0%)
|
Witam!
Potrzebuje wyrażenia regularnego, które przekształciło mi coś takiego: w Wiem, że pewnie to będzie preg_replace. Nawet napisałem już jakiś pattern postaci: "<table(?:.*?)cellpadding="(.*?)"(?:.*?)>(?:\n(?:\s)*(?:.*))*</table>" i on wyłapuje mi tą potrzebną część czyli ile wynosi padding ale nie wiem jak teraz z tego stworzyć potrzebny kod wynikowy. Problem bierze się z faktu, że FCKeditor przy tworzeniu tabelek produkuje "cellpading" w tabelach. A to się gryzie z plikiem css gdzie jest zapis *{padding:0;margin:0} a więc zeruje wszystkie paddingi i tylko css-em można je dodać. "cellpadding" html-owy jest ignorowany. Jeśli ktoś zna inny sposób na rozwiązanie tego problemu (żeby w tabelkach tworzonych w FCKedytorze działał cellpading) to był bym wdzięczny za podpowiedź. Najrozsądniej było by po prostu przerobić FCKEditora, żeby tworzył od razu taki kod ale zagłębić się w jego kod to nie lada gratka a nie mam czasu na to teraz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%)
|
przecież wystarczy że w pliku CSS dopiszesz linijkę:
Kod td { padding: 10px; } powodzenia |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 22.12.2006 Ostrzeżenie: (0%)
|
super... tylko, że takich tabelek w fck editorze mogę stworzyć powiedzmy 4. Jedna padding:4, druga 8 trzecia 12 a czwarta 15 i co wtedy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Mogę bawić się w określanie id tabelki i dla niej tworzenie td{} ale to też trzeba by ingerować w FCKEditora, żeby dodawał do tabelki id etc.
|
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%)
|
no i dalej uważam, że zrobienie 4 jednolinijkowych stylów w CSS oraz nadanie tym 4 tabelkom różnych id jest najsensowniejszym rozwiązaniem. za to generowanie setek razy kodu HTML, w którym każdy znacznik td ma indywidualnie przypisany atrybut style jest cokolwiek nieoptymalne... skoro ten FCKEditor generuje ci sprzeczny kod , to zmień edytor na nowszy / lepszy... ty chcesz naprawiać skutki generacji kiepskiego kodu, a ja staram się uświadomić ci, że lepiej usunąć przyczynę...
pozdrawiam. Ten post edytował nevt 12.01.2008, 14:39:02 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 22.12.2006 Ostrzeżenie: (0%)
|
Edytora na nowszy nie zmienię bo ta już jest jego najnowszą wersją. Na lepszy nie zmienię bo ten jest bezpłatny a nie będe za to płacił. Dziękuje za porady natury filozoficznej. Świadomość, że to nie jest najoptymalniejsze rozwiązanie mam nie mniej proszę o rozwiązanie natury praktycznej czyli: "jak to zrobić". A nie "czemu tego nie zrobić" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
czy nikt nie może mi pomóc naprawdę (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%)
|
Może wsumie najoptymalniejsze rozwiązanie to to nie jest. Zależy też gdzie i do jakich celów chcesz tego użyć. Jeśli np. do administracji newsami, gdzie będzie max 10 wizyt dziennie przez adminów, to raczej problemów z wydajnościa nie będzie.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%)
|
wystarczy
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 22.12.2006 Ostrzeżenie: (0%)
|
chłopaki wszystko fajnie tylko, że ciągle powtarzam... na stronie może być wiele tabelek każda z innym paddingiem to po pierwsze. Po drugie wy w waszym kodzie używacie wprost padding:10px a to trzeba najpierw wyłuskać. Ok mogę to zrobić preg_match ale dalej pozostaje problem zrobienia tego dla każdej tabelki. Innymi słowy potrzebny mi program pod algorytm:
dla każdej tabeli z kod zrob{ znajdz cellpadding="$x"; przypisz <td style="padding:$x" } Chciałem to zrobić jednym wyrażeniem regularnym ale widzę, że będzie raczej problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Co do optymalności to o tyle się nie martwię o to gdyż w ten sposób będzie tworzonych max 5,6 tabelek więc problemu większego nie ma! |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%)
|
Powinno działać. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 21:59 |