| Autor | Zpráva | ||
|---|---|---|---|
| jrw Profil |
#1 · Zasláno: 16. 5. 2008, 16:13:15
Potřeboval bych nahradit řetězec <p class="?????" style='?????'> řetězec tímto <p>, zkusil jsem něco podobného <p\s*\d*\W*\D*[>]{1} ale bere to i koncový tag <p class="?????" style='?????'>cosi</p> potřeboval bych tam nějak doplnit aby to bralo jen uvodní ale nevím jak to mám zapsat.
|
||
| Joker Profil |
#2 · Zasláno: 16. 5. 2008, 16:40:43
Vidím dvě možnosti:
1. použít výraz "všechno kromě >", tzn.: <p[^>]+> 2. použít líný kvantifikátor, tzn.: <p.+?> |
||
| Joker Profil |
#3 · Zasláno: 16. 5. 2008, 16:45:12
Poznámka: To je samozřejmě jednoduché řešení, použitelné pro nějakých 99% případů, ale na něčem takovémhle si vyláme zuby:
<p title="a>b" class="neco">text</p> |
||
| Chamurappi Profil |
#4 · Zasláno: 16. 5. 2008, 16:58:49 · Upravil/a: Chamurappi
Reaguji na jrw:
Ve svém validátoru používám na ulovení počáteční značky přibližně tento výraz: <([^!<>/\s]+)(?:\s+(?:[^<>/=\s]+(?:\s*=\s*(?:(?:[</]*[^"'<>/=\s]+)|(?: "[^"]*")|(?:'[^']*'))?)?\s*)*)?(?:(?=<)|[/>]) — první submatch pak obsahuje název elementu. (Ale bacha, miniBB do toho vecpalo mezeru.) |
||
|
Časová prodleva: 18 let
|
|||
0