Avatar billede mixhael Nybegynder
10. december 2004 - 01:00 Der er 9 kommentarer og
1 løsning

regulært udtryk

Jeg skal udskrifte:

<p align="center" ></p>
og
<p></p>

Med henholdsvis

<p align="center" >&nbsp;</p>
og
<p>&nbsp;</p>

Jeg har tænkt mig at udskifte dette med et regulært udtryk da der sagtens kunne være flere attributer i p-taget.

Jeg har prøvet med følgende:

$val = ereg_replace("<p([[:alnum:](/#;=_~?&%+-]+)></p>","<p\\1>&nbsp;</p>",$val);

Men det virker ikke rigtigt.. hmm.. Nogle der har nogle ideér til hvordan det skal se ud?? Det skal lige siges at jeg ikke er særlig stærk i regulære udtryk..

Håber der er nogle der hurtigt kan finde en løsning.. :)

Mvh Michael
Avatar billede jensgram Nybegynder
10. december 2004 - 01:02 #1
$val = ereg_replace('<p([^>])></p>', '<p\\1>&nbsp;</p>', $val);

burde kunne gøre det
Avatar billede jensgram Nybegynder
10. december 2004 - 01:02 #2
Hov - det er:

$val = ereg_replace('<p([^>]*)></p>', '<p\\1>&nbsp;</p>', $val);
Avatar billede jensgram Nybegynder
10. december 2004 - 01:03 #3
Ville nok selv benytte:

$val = preg_replace('/<p([^>]*)></p>/i', '<p\\1>&nbsp;</p>', $val);
Avatar billede mixhael Nybegynder
10. december 2004 - 01:04 #4
dvs at du godkender alle karaktere på nær > ik?? smart... :)
Avatar billede mixhael Nybegynder
10. december 2004 - 01:05 #5
er preg hurtigere eller hvad er grunden til brug af dette??
Avatar billede jensgram Nybegynder
10. december 2004 - 01:08 #6
ja, det påstår de i manualen :P
Avatar billede mixhael Nybegynder
10. december 2004 - 01:09 #7
din preg_replace virker ikke?? ereg_replace er tilgængel iorden!
Avatar billede jakoba Nybegynder
10. december 2004 - 01:10 #8
Der er en enkelt mulighed for at det kan gå galt (Hvis en attributværdi indeholder tegnet '>') men det er så sjældent at det ikke er værd at tænke på medmindre du har masser af eventhandlere.
Avatar billede jensgram Nybegynder
10. december 2004 - 01:15 #9
Virker preg ikke? Det var mystisk, men har heller ikke testet ;)

jakoba > Ja, du har ret, men et eller andet skal der jo matches på (exp'en i spørgsmålet ville jo heller ikke medtage >)

Smider lige et svar, hvis du kunne bruge ereg-versionen.
Avatar billede jensgram Nybegynder
10. december 2004 - 01:26 #10
Ja, det var da også lidt af en brøler:

$val = preg_replace('/<p([^>]*)><\/p>/i', '<p\\1>&nbsp;</p>', $val);

Glemte et \
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester