Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] zasotosowanie preg_match dla funkcji str_replace
troian
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 2
Dołączył: 3.02.2013

Ostrzeżenie: (0%)
-----


Witam, trafiła mi się tragiczna baza danych z ogłoszeniami, niestety jest ona zbyt duża aby ręcznie kopiować opisy i postanowiłem wyeksportować ją a następnie wygenerować nowe zapytania aby przenieść tą bazę, wszystko działa świetnie niestety osoba pisząca te ogłoszenia powstawiała znaczniki style dla elementów p,h1,h2,h3 itp i problem w tym że muszę się tego pozbyć jednak co wpis style to inne znaczniki chciałem najpierw zrobić to na zasadzie str_replace('font-size:15;','',$content); jednak ilość możliwych kombinacji z liczbą oraz spacjami po między 14px[space]; jest OGROMNA, dlatego chce się dowiedzieć czy w jakiś sposób można wykorzystać preg_match do wyszukiwania styke"[zwartosc]" i całkowitego jego usuwania?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie lepiej użyć parsera DOM? Wyrażenia regularne do zmian w drzewie dokumentu to jest najczęściej kiepski pomysł i w tym przypadku jest również kiepski. Co na przykład, jeśli zamiast cudzysłowu są apostrofy? Za dużo jest pułapek w takiej zamianie na pałę, no ale oczywiście jest pytanie - jest odpowiedź.

Jeśli ktoś zapyta: która szczoteczka do zębów jest najlepsza do umycia toalety, odpowiedzi nie wyjdą najczęściej poza świat mycia toalety szczoteczką, a to błąd.

Moim zdaniem, jeśli jest jakakolwiek szansa, że są inne style, które powinny zostać zachowanie, powinieneś przejść drzewo parserem DOM w poszukiwaniu wszystkich interesujących Cię elementów z atrybutem style, a następnie wyciąć z nich tylko te style, które mają zostać usunięte. Jeśli nic nie zostanie, dopiero wtedy usunąć atrybut style.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 23:19