/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP-processering af en streng?
Fra : Morten Poulsen


Dato : 10-10-02 19:32

Goddag Alle

Jeg har et problem, som jeg ikke ved om der er en løsning på, men nu spørger
jeg alligevel...
Jeg har et program (altså skrevet i PHP, ikke? Hedder det er program,
eller?), som indlæser en php/html-fil til en streng, fjerner evt.
<head>-information, erstatter nogle links og viser den, med en header som
systemet generer. Det går fint med en html-fil, men hvis den indlæste fil
er en php-fil, er denne jo ikke "nået" at blive PHP-processeret, da mit
program indlæste den som med en file()-kommando. Er der nogen måde, hvorpå
jeg kan PHP-processere den "rettede" version jeg har i min streng? Altså
noget med "process_as_php($streng)" eller sådan noget?

Alternativet er vel at gemme strengen i en temporær-fil og køre noget
"system("php mytemp.php");"-agtigt, men vil det virke?

Håber I kan hjælpe mig...

Mange Hilsener
Morten Poulsen


 
 
Jonas Delfs (10-10-2002)
Kommentar
Fra : Jonas Delfs


Dato : 10-10-02 19:50

Hej Morten,

"Morten Poulsen" <maillist@poulsen.org> wrote in message
news:ao4h1s$bba$1@news.cybercity.dk...
> Jeg har et program (altså skrevet i PHP, ikke? Hedder det er program,
> eller?),

Et script, ja. :) PHP-kode kan ikke ("rigtigt") kompileres, hvorfor det er
et scriptsprog.

> som indlæser en php/html-fil til en streng, fjerner evt.
> <head>-information, erstatter nogle links og viser den, med en header som
> systemet generer. Det går fint med en html-fil, men hvis den indlæste fil
> er en php-fil, er denne jo ikke "nået" at blive PHP-processeret, da mit
> program indlæste den som med en file()-kommando. Er der nogen måde, hvorpå
> jeg kan PHP-processere den "rettede" version jeg har i min streng?

Det letteste vil vel være at tilgå filen via http, fx.
file("http://pølser.nu/minFil.php"). Det vil dog også være en anelse
langsommere.
Du kunne også kigge på php.net/eval

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



Peter Brodersen (10-10-2002)
Kommentar
Fra : Peter Brodersen


Dato : 10-10-02 20:37

On Thu, 10 Oct 2002 20:31:32 +0200, Morten Poulsen
<maillist@poulsen.org> wrote:

>Altså
>noget med "process_as_php($streng)" eller sådan noget?

Hvis jeg har forstået dig korrekt, så er det eval(), du leder efter,
fx:

eval($streng);

Manualen:
http://dk.php.net/manual/en/function.eval.php

Læs manualen grundigt. Overvej situationen grundigt. Hvis du ikke har
100% styr over hvad, $streng indeholder, så kan der forårsages skade
på dit site.

--
- Peter Brodersen

Morten Poulsen (11-10-2002)
Kommentar
Fra : Morten Poulsen


Dato : 11-10-02 01:44

Peter Brodersen wrote:

> On Thu, 10 Oct 2002 20:31:32 +0200, Morten Poulsen
> <maillist@poulsen.org> wrote:
>
>>Altså
>>noget med "process_as_php($streng)" eller sådan noget?
>
> Hvis jeg har forstået dig korrekt, så er det eval(), du leder efter,
> fx:
>
> eval($streng);
>
> Manualen:
> http://dk.php.net/manual/en/function.eval.php

Såvidt jeg kan se skal $streng så indeholde 100% php-kode, og det gør den
ikke nødvendigvis, men kan godt indeholde "raw" html-kode. Strengen kunne
f.eks. indholde:
<?
echo "somthing";
?>
<table><tr><td>Something></td></tr></table>
<?
echo "try again">
?>

Og det tror jeg ikke eval "æder"...

Hilsen
Morten


Niels Andersen (11-10-2002)
Kommentar
Fra : Niels Andersen


Dato : 11-10-02 09:13

Morten Poulsen wrote in <ao56rd$131d$1@news.cybercity.dk>:
>> eval($streng);
> Såvidt jeg kan se skal $streng så indeholde 100% php-kode, og det gør den
> ikke nødvendigvis, men kan godt indeholde "raw" html-kode.

Det kan den nu sagtens.

Så vidt jeg husker kan du fx. gøre sådan her: eval('?>'.$streng);

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste