Gå til innhold

Trenger litt regex hjelp


Anbefalte innlegg

Skrevet (endret)

Edit: Nytt problem så jeg bare editer posten og bumper den.

 

Jeg har metoden her:

 

Klikk for å se/fjerne innholdet nedenfor
function html_to_bbcode($input)

{

$html = array('/<a href="(.*?)" rel="external">(.*?)<\/a>/is',

'/<a href="(.*?)">(.*?)<\/a>/is');

 

$bbcode = array('[eurl=$1]$2[/eurl]',

'[iurl=$1]$2[/iurl]');

 

return preg_replace($html, $bbcode, $input);

 

}

 

Den virker halvveis men er problem jeg ikke finner ut av. Hvis jeg parser

 

<a href="3" rel="external">3</a><a href="ttt">ttt</a>

 

Får jeg

 

[eurl=3]3[/eurl][iurl=ttt]ttt[/iurl]

 

Og sånn skal det være men hvis jeg bytter om på rekkefølgen på de to linkene (<a href="ttt">ttt</a><a href="3" rel="external">3</a>) får jeg dette ut:

 

[eurl=ttt">ttt</a><a href="3]3[/eurl]

 

Noen som vet hvordan jeg kan få det til å funke uansett rekkefølgen til linkene?

Endret av shaker
Videoannonse
Annonse
Skrevet
Edit: Nytt problem så jeg bare editerte første posten og bumpet emne.

8329400[/snapback]

 

Det der vil aldri fungere:

$bbcode = array('[eurl=$1]$2[/eurl]',
'[iurl=$1]$2[/iurl]');

Rekkefølgen har du jo bestemt her selv

 

Begynner å bli litt sent nå men skal se om jeg kan lage en funksjon for deg i morgen. Hvis jeg får tid.

Mvh. OXODesign

Skrevet (endret)

Fikk det til å funke :p

 

Byttet ut (.*?) med ([^<]*)

 

/<a href="([^<]*?)" rel="external">(.*?)<\/a>/is

Endret av shaker

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...