Gå til innhold

replace funksjoner i tekst-spørsmål (?)


Anbefalte innlegg

Howdy how igjen!

 

I fila mi har jeg satt opp følgende:

 

<div class="news"> {$functions->show_news($a = array(id => '1'))} </div>
<div class="news"> {$functions->show_news($a = array(id => '2'))} </div>

 

Jeg vil gjerne erstatte {funksjon} med resultatet av den respektive funksjonen. Har sittet litt med while(preg_replace()), men det er å ta seg vann over hodet å påstå jeg har klart det. Finnes det noen klare hjerner som kan hjelpe meg i gang?

 

Edit: Forenklet spørsmålet litt:

 

preg_replace("#\{(.*?)}#is", "\\1", $centercontent)

 

vili jeg skal vise følgende:

 

preg_replace("#\{$function->show_news()}#is",$function->show_news, $centercontent)

Endret av fjartan
Lenke til kommentar
Videoannonse
Annonse

Vet ikke helt om jeg forstår problemet, men:

 

Den vanlige måten å gjøre det på i PHP for å skrive ut fra funksjoner midt i HTML er å sette inn PHP-kode mellom "<?php ?">"-tagger. Hvis du har dette i forskjellige filer bruker du da include().

 

F.eks.:

<div class="news"><?php echo $functions->show_news($a = array(id => '1')) ?></div>

(uten "echo" hvis show_news printer i stedet for å returne en string)

 

Hvis du har denne teksten som en variabel i et PHP-script kan du få samme effekten som include() ved å bruke eval():

eval('?>' . $the_page . '<?php ');

 

Hvis problemet er at teksten allerede er skrevet som kode med {} rundt, kan du vel fikse det med å bare erstatte "{" med "<?php " og "}" med "?>".

Lenke til kommentar

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...