[PHP] Regex voor lowercase html

Pagina: 1
Acties:
  • 412 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024
Ik heb een klein probleempje met mijn WYSIWYG editor openWYSIWYG. Het produceert geen xHTML code. Nu ben ik aant proberen om de html uit de text te filtreren en dat dan lowercase te maken maar dat lukt me niet echt helemaal. Kan iemand me helpe met een regex/andere oplossing om de html lowercase te maken.

Acties:
  • 0 Henk 'm!

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:13

glashio

C64 > AMIGA > PC

PHP:
1
$output = preg_replace_callback('|<[/a-z]+|i', create_function('$matches', 'return strtolower($matches[0]);'), $input);


Hier voor kan je een callback functie voor gebruiken.

[ Voor 17% gewijzigd door glashio op 25-07-2007 09:03 ]

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:01
shoarmaboer21 schreef op woensdag 25 juli 2007 @ 08:52:
Ik heb een klein probleempje met mijn WYSIWYG editor openWYSIWYG. Het produceert geen xHTML code. Nu ben ik aant proberen om de html uit de text te filtreren en dat dan lowercase te maken maar dat lukt me niet echt helemaal. Kan iemand me helpe met een regex/andere oplossing om de html lowercase te maken.
Wat heb je zelf al geprobeerd?

Zit je vast aan die html editor? TinyMCE kan wel xhtml output geven.

Eventuele client side oplossing: http://html2xhtml.richarea.com/

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

glashio: je vergeet dingen als attributen en andere syntax-zaken die XHTML syntax doen afwijken van klassieke HTML syntax.
De grote vraag is echter: heb je dat ook echt nodig? ;)

Ik denk dat het werken met string-functies om XML-syntax te genereren een echte no-no is. Mijn advies zou zijn: parsen naar een DOM-tree en vervolgens serializen naar XHTML.

[ Voor 21% gewijzigd door crisp op 25-07-2007 09:11 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

crisp schreef op woensdag 25 juli 2007 @ 09:09:
[..]

Ik denk dat het werken met string-functies om XML-syntax te genereren een echte no-no is. Mijn advies zou zijn: parsen naar een DOM-tree en vervolgens serializen naar XHTML.
Soms ben je gewoon te slim voor ons, gewone stervelingen :)
Hoewel ik al enkele jaren actief bezig ben met clientside scripting, versta ik alleen de werkwoorden en lidwoorden in bovenstaande zin.

Zal wel aan mij liggen :)

Acties:
  • 0 Henk 'm!

  • ATS
  • Registratie: September 2001
  • Laatst online: 18-09 15:14

ATS

Vertaling van crisp:

Maak de bewerking naar XHTML niet door te proberen de HTML zélf aan te passen (zoals je hem in tekstvorm kan zien dus). Dat is enorm foutgevoelig en in het algemeen geen goed idee. In plaats daarvan doe je dat door de HTML te parsen naar een DOM-tree (een boomstructuur dus waarin alle elementen hun plek hebben) en deze tree vervolgens weer op te slaan in de vorm van XHTML. Een voorbeeld van hoe een DOM tree eruit ziet krijg je als je deze pagina in FireFox bekijkt en dan de functie Tools | DOM Inspector uit het menu kiest.
Dat vind ik zelf ook veruit de eleganste manier, maar je moet dan natuurlijk wel netjes je HTML parsen naar een nette XML DOM tree, anders krijg je er nooit nette XHTML uit.

@Crisp: ik hoop dat ik je intentie goed heb weergegeven :)

edit:
Met een beetje geluk kan je in je PHP gewoon de tree opbouwen met loadHTML op een nieuw DomDocument object, even een paar elementen wat aanpassen (juiste doctype en namespace enzo), en daarna een saveXML. Het verschil tussen HTML en XHTML is zoals eerder aangegeven wel iets groter dan alleen upper en lower case.

[ Voor 24% gewijzigd door ATS op 25-07-2007 18:16 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024
Volgens mij pakt mijn host dat niet.

Nu zou ik eigenlijk alleen willen weten hoe je de tekst uit de HTML haalt. Dan kun je gewoon strtolower doen. Zelfs dat lukt mij niet.

Dus eigenlijk een
PHP:
1
preg_replace('>{tekst met alle mogelijke tekens}<','> <',$string);

[ Voor 23% gewijzigd door BlackWhizz op 25-07-2007 18:52 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Misschien kan je beter mijn eerste vraag beantwoorden: waarom denk je XHTML nodig te hebben?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024
Voor mijn portfolio site. Het ziet er gewoon niet uit als je bijvoorbeeld html op een xhtml pagina zet terwijl je klanten probeert te werven.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
crisp bedoelt meer : waarom wil je je site (niet sommige content) in xhtml hebben?

Acties:
  • 0 Henk 'm!

  • ATS
  • Registratie: September 2001
  • Laatst online: 18-09 15:14

ATS

Ik zou zeggen: wacht tot openWYSIWYG wel XHMTML doet (het staat op de lijst van toe te voegen features, er wordt dus aan gewerkt) of, nog beter, help ze mee om dat voor elkaar te krijgen. Het is tenslotte open source. Achteraf met het resultaat geen kloten lijkt mij geen handige of onderhoudbare oplossing, maar dat is al eerder gezegd. Ik denk niet dat het je gaat lukken om van de output goede XHTML te maken met alleen een regexp of twee.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant

Pagina: 1