[php] preg_replace probleempje

Pagina: 1
Acties:

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik heb een systeempje gemaakt die bepaalde dingen uit een html pagina haalt en opslaat.
Nu heb ik een probleem bij sommige dingen.
Soms pakt hij de info niet goed.

BV op deze lijn uit html pagina:

<Font size="5">SHAKlRAA [shakira shake yur a$$]</Font>

Daar wil ik SHAKIRAA uit halen via deze code:
PHP:
1
2
3
<?
$result[8] = preg_replace ("'<Font[^>]*?>(.*?)\\[" . $clan_name . "\]</Font>'si", "\\1", $line1);
?>

De variable $clan_name = shakira shake yur a$$

Weet iemand wat ik fout doe?

Want als $result[8] krijg ik: <Font size="5">SHAKlRAA [shakira shake yur a$$]</Font>

www.dannyhiemstra.nl


  • Grum
  • Registratie: Juni 2001
  • Niet online
ik zou de $'s even escapen als ik jou was :P

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

PHP spreek ik helaas niet en ik ken de specs van preg_replace dus ook niet.
Maar als ik naar de regex string op zich kijk dan lijkt het of je in de string met (.*?) "SHAKIRAA" wilt matchen en vervolgens wilt vervangen met zichzelf "\\1".

Verder heb je een addslashes functie nodig voor hetgeen je in de matching string plakt.

Who is John Galt?


  • Grum
  • Registratie: Juni 2001
  • Niet online
addslashes slashed $ niet