Avatar billede diz Nybegynder
15. maj 2006 - 12:50 Der er 1 løsning

Ændre klasse og parameter på NOGLE p-tags

Hejsa alle eksperter,

Jeg har lidt probs med noget reg.exp. Jeg har en streng som indeholder f.eks følgende:

<p style="margin: 0 0 0 0;">noget tekst</p>
<p style="margin: 0 0 0 0;">noget mere tekst</p>
<p style="margin: 0 0 0 0;">noget mere igen</p>
<div>et div tag</div>
<p style="margin: 0 0 0 0;">noget tekst</p>
<p style="margin: 0 0 0 0;">noget mere igen</p>

nu vil jeg så gerne have at p-tag'et før div-tag'et skal have fjernet style'en og have en class="before" og p-tag'et efter div-tag'et skal have class="after". Dvs at ovenstående skal se således ud:

<p style="margin: 0 0 0 0;">noget tekst</p>
<p style="margin: 0 0 0 0;">noget mere tekst</p>
<p class="before">noget mere igen</p>
<div>et div tag</div>
<p class="after">noget tekst</p>
<p style="margin: 0 0 0 0;">noget mere igen</p>

Altså skal det kun gælder for p-tags LIGE før og efter.

Derudover ved jeg ikke altid om p-tag'et har et style eller en class. Altså kunne det også have set således ud:

<p style="margin: 0 0 0 0;">noget tekst</p>
<p style="margin: 0 0 0 0;">noget mere tekst</p>
<p>noget mere igen</p>
<div>et div tag</div>
<p style="margin: 0 0 0 0;">noget tekst</p>
<p>noget mere igen</p>

Så derfor skal den tjekke på både P-tags med og uden parametre.

Håber det er nogenlunde forståeligt og at nogen kan hjælpe :)

VH
Sune
Avatar billede diz Nybegynder
15. maj 2006 - 13:34 #1
fandt løsningen tror jeg:

$content = preg_replace("/<P.*?>(.*?)<\/P><div/i","<p class=\"before\">$1</p><div",$content);

/Sune
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
Kurser inden for grundlæggende programmering

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