Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Usuwanie pustych atrybutów html, regex
Strelok
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.02.2018

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


Witam, problem wygląda następująco:

W poniższym kawałku HTML chciałbym złapać wszystkie puste atrybuty attr (oznaczone na czerwono):

<img src="/test-image_1.jpg" attr="test-image_1" qwe="asd" attr>
<img src="/test-image_1.jpg" attr="test-image_1" qwe="asd" attr=>
<img src="/test-image_1.jpg" attr= "test-image_1" qwe="asd" attr="">
<img src="/test-image_1.jpg" attr= "test-image_1" qwe="asd" attr=" ">
<img attr="a attr b" src="/test-imagalte_1.jpg" attr qwe="asd" />
<img src="/test- alt image_1.jpg" attr="test-image_1" attr= "" qwe="asd" >
<img src="/test-image_1.jpg" attr = " " asd=" q" attr="test-image_1" attr qwe="asd" >

Poprzez "puste" rozumiem także atrybuty attr zawierające między cudzysłowami białe znaki.
Dodatkowo ciągi attr występujące pomiędzy cudzysłowami nie powinny zostać złapane.

Wyrażenie które mam na ten moment:
/attr(?=(?:[^"]*"[^"]*")*[^"]*\Z)/gi

https://regex101.com/r/MvpdM9/1

Ten post edytował Strelok 8.03.2018, 16:32:25
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%)
-----


Nikt nie mówił, że biblioteki nie usuwają zduplikowanych atrybutów, tylko że ich nie wyłapują. Zastanów się chwilę. Jak masz wywalić tylko te puste, to w jakiś sposób musisz sprawdzić czy aby na pewno nie ma jakiegoś niepustego. I tutaj jest problem, bo crawlery wyłapują każdy atrybut danego typu tylko raz. Twoja logika zadziała tylko wtedy, gdy ten niepusty atrybut jest podany jako pierwszy (lub ostatni, pewnie są crawlery co biorą ostatni).

Zrozumiałeś teraz?
Go to the top of the page
+Quote Post

Posty w temacie
- Strelok   Usuwanie pustych atrybutów html, regex   8.03.2018, 16:30:07
- - SmokAnalog   Powiem Ci, że będzie ciężko. Wyrażenie regularne m...   9.03.2018, 00:28:48
- - Pyton_000   Użyj sobie tego: https://github.com/paquettg/php-h...   9.03.2018, 08:42:47
- - SmokAnalog   Pyton, ale jest jeden problem. Te biblioteki w zal...   9.03.2018, 12:55:03
- - Pyton_000   Nie doczytałem że tam może być więcej attr w tagu....   9.03.2018, 13:29:01
- - trzczy   Co w tym trudnego? https://regex101.com/r/qZ7Slx/...   9.03.2018, 14:01:25
|- - Strelok   Cytat(trzczy @ 9.03.2018, 14:01:25 ) ...   9.03.2018, 14:27:36
|- - SmokAnalog   Cytat(trzczy @ 9.03.2018, 14:01:25 ) ...   9.03.2018, 14:53:00
- - Pyton_000   Nic trudnego tylko nikomu się nie chciało takiego ...   9.03.2018, 14:14:43
- - Pyton_000   Pytanie skąd taki śmietnik przychodzi...   9.03.2018, 15:04:43
- - trzczy   @SmokAnalog taaa... @Strelok, najlepiej zapodaj st...   9.03.2018, 15:40:20
|- - Strelok   Cytat(trzczy @ 9.03.2018, 15:40:20 ) ...   9.03.2018, 15:56:37
- - trzczy   Wersja z <attr akceptowalnym: https://regex101...   9.03.2018, 16:12:03
- - SmokAnalog   Nadal wyłapujesz luźny ciąg znaków attr niebędący ...   9.03.2018, 21:55:31
- - trzczy   Postawiłem sobie za zadanie spełniać testy. Bezuży...   9.03.2018, 22:10:36
- - SmokAnalog   No to dodaj prawidłowo te testy Co to w ogóle jes...   9.03.2018, 22:20:30
- - trzczy   Jeśli masz jakieś wymagania, to zapraszam do giełd...   9.03.2018, 22:25:02
- - SmokAnalog   Nie no, super. Dodawaj złą odpowiedź bez uprzedzen...   9.03.2018, 22:26:37
- - trzczy   Znajdź sobie więc fajniejszego kolegę. Ja oferuję ...   9.03.2018, 22:29:09
- - SmokAnalog   Mam nadzieję, że jeśli pracujesz z klientami to wk...   9.03.2018, 22:34:10
- - trzczy   Jasno stawiam sprawę: dajesz testy, znajdę regex. ...   9.03.2018, 22:42:40
- - SmokAnalog   Nie chcę brzmieć jak tatuś, ale przemyśl swoje zac...   10.03.2018, 00:41:46
- - trzczy   Kojarzysz mi się głównie z blamażem file_get_conte...   10.03.2018, 01:05:30
- - SmokAnalog   Hę?   10.03.2018, 01:11:27
- - trzczy   Zniknąłeś na parę dni, jak dostałeś srogą naukę. N...   10.03.2018, 01:22:17
|- - b4rt3kk   Cytat(trzczy @ 10.03.2018, 01:22:17 )...   10.03.2018, 01:35:20
- - SmokAnalog   Zniknąłem jak dostałem jakąś naukę? Nie wiem co bi...   10.03.2018, 01:29:22
- - trzczy   W mych oczach potwierdziłeś, że masz zdolności głó...   10.03.2018, 01:33:32
- - SmokAnalog   Raczej mu zaszkodziłeś niż pomogłeś, bo podałeś bł...   10.03.2018, 01:38:20
- - trzczy   Moje rozwiązanie nawiązuje wprost do wymagań pytaj...   10.03.2018, 01:48:56
- - SmokAnalog   No i właśnie nie miały być wyłapane, a Twój wzorze...   10.03.2018, 01:56:09
- - trzczy   Różne są zadania w informatyce i sprowadzanie ich ...   10.03.2018, 02:16:39
- - SmokAnalog   Nie rozumiem o co chodzi z tym sprowadzaniem do st...   10.03.2018, 02:28:34
|- - trzczy   Cytat(SmokAnalog @ 10.03.2018, 02:28...   10.03.2018, 05:06:56
|- - SmokAnalog   Trzczy - Twoja argumentacja jest cholernie amators...   10.03.2018, 12:05:36
- - Pyton_000   Możecie sobie prywatne żale wylewać gdzieś indziej...   10.03.2018, 09:42:27
- - Strelok   Dziękuję za wszelkie sugestie. Zdaję sobie sprawę ...   10.03.2018, 12:47:26
|- - trzczy   Cytat(Strelok @ 10.03.2018, 12:47:26 ...   10.03.2018, 13:59:22
- - viking   Wrzuciłem do https://packagist.org/packages/electr...   10.03.2018, 13:11:58
- - SmokAnalog   Przy okazji wywala też niepuste, a nie o to chodzi...   10.03.2018, 13:42:08
- - viking   Poprzez "puste" rozumiem także atrybuty ...   10.03.2018, 13:57:44
|- - SmokAnalog   Cytat(viking @ 10.03.2018, 13:57:44 )...   10.03.2018, 14:16:48
- - viking   Pierwsze zdanie to właśnie był cytat z pierwszego....   10.03.2018, 14:22:50
- - SmokAnalog   Cytat(Strelok @ 8.03.2018, 16:30:07 )...   10.03.2018, 14:25:43
- - viking   No a co za problem napisać ifa do tego?   10.03.2018, 14:31:54
- - SmokAnalog   Ty tak serio?   10.03.2018, 14:36:33
- - viking   Ale niby co? Filtrowanie to zawsze domena użytkown...   10.03.2018, 15:09:23
- - SmokAnalog   Nikt nie mówił, że biblioteki nie usuwają zdupliko...   10.03.2018, 15:23:56


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: 26.12.2025 - 21:32