Avatar billede datasource Nybegynder
13. oktober 2006 - 19:39 Der er 11 kommentarer og
1 løsning

Slette 3 første tegn og 4 sidste

Hej eksperter
Jeg har en variabel med noget tekst ($fcktekst)
Jeg mangler bare noget kode som skal slette de 3 første tegn og de 4 sidste hvis:
- de tre første tegn er <p> og de 4 sidste er </p>.
Alså den skal slette <p>-tagget, hvis der er et omkring teksten.
Avatar billede jaw Nybegynder
13. oktober 2006 - 19:41 #1
Og kun hvis det er omkring? Ikke hvis det er f.eks. i midten?

Det nemmeste vil jo være at bruge str_replace():

$fcktekst = str_replace("<p>", "", $fcktekst);
$fcktekst = str_replace("</p>", "", $fcktekst);
Avatar billede datasource Nybegynder
13. oktober 2006 - 19:44 #2
Ja det er kun hvis det er omkring..der er også andre tags midt i teksten som ikke skal slettes
Avatar billede jaw Nybegynder
13. oktober 2006 - 19:52 #3
Okey, så prøv:

$fcktekst = preg_replace("/^<p>(.+)<\/p>$/i", "$1", $fcktekst);
Avatar billede datasource Nybegynder
13. oktober 2006 - 22:47 #4
Det virker desværre ikke ?
Avatar billede jaw Nybegynder
13. oktober 2006 - 23:13 #5
Ikke? Det virker fint her. Kan du give et eksempel på en streng du tjekker på? Og der må så selvfølgelig ikke være mellemrum eller lign. før eller efter de p-tags.
Avatar billede coderdk Praktikant
14. oktober 2006 - 13:56 #6
måske:

$fcktekst = preg_replace("/^<p>(.+)<\/p>$/is", "$1", $fcktekst);

(jeg har tilføjet s til jaw's så . også matcher på newlines)
Avatar billede Slettet bruger
16. oktober 2006 - 00:48 #7
Man kunne også bare:
$fcktekst = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. ";
$fcktekst = substr(3, (strlen($fcktekst)-4));
Avatar billede jaw Nybegynder
18. oktober 2006 - 00:04 #8
Nå, eftersom jeg ikke er online de næste 3 måneder, så tillader jeg mig at lægge et svar.

Hygge så længe...
Avatar billede datasource Nybegynder
22. oktober 2006 - 22:50 #9
Ja det tænkte jeg også selv i starten coldgate. Men det er jo KUN, hvis stregnen starter med <p> og slutter med </p> !
Så skal de to tags fjernes.
Avatar billede datasource Nybegynder
14. november 2006 - 12:30 #10
Slet ingen der kan skrive et sådan funktion ?
Avatar billede coderdk Praktikant
14. november 2006 - 12:43 #11
Virker: $fcktekst = preg_replace("/^<p>(.+)<\/p>$/is", "\\1", $fcktekst);

ikke?!
Avatar billede coderdk Praktikant
14. november 2006 - 12:44 #12
evt: $fcktekst = preg_replace("/^\s*<p>(.+)<\/p>\s*$/is", "$1", $fcktekst);
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