Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Espressioni Regolari] Parsing dei tag html

    Ciao a tutti, sono un pò arrugginito con le pcre, potreste aiutarmi a costruirne una che mi trovi la parte contenuta nei tag di apertura html?

    Esempio:

    clicca qui <span style="color:white">ciao <hr /></span>

    Mi dovrebbe tornare:

    b
    a href="#"
    span style="color:white"

    tralasciando quindi quelli di chiusura e quelli singoli ( come l'hr ).

    Ho provato con questa:

    #<([a-z]+)(?: .*)?(?<![/|/ ])>#U

    ma mi torna solo la parte iniziale dei tag... fa parte di uno script originale che devo modificare.

    Qualche idea?
    PaTeR
    From Ban to Life

  2. #2
    Per ora il meglio che mi e' venuto in mente e':

    codice:
    preg_match_all("#<(?!/)([^>]+)(?<!/)>#", $string, $match);
    ma non so in quanti casi possa fallire. Ad esempio, non so se' e' legale in html, ma un tag come <hr / > (con lo spazio tra lo slash e il >) non viene trovato da quel pattern (e non e' immediato sistemarlo visto che il negative lookbehind richiede un pattern di lunghezza fissa senza ripetitori).

    Comunque il parsing html non e' esattamente banale.

  3. #3
    "<\w+\s*([^>]*[^\/>]){0,1}>"; // i.e.

    ...
    "<\/\w+\s*[^>]*>"; // i.e. </p>
    ...
    "<\w+\s*[^>]*\/>"; // i.e.
    <img /> ...
    "<\w+\s*[^>]*$"; // i.e. <img src=""

    forse c'è da migliorare qualcosa anche quì

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.