Avatar billede playr Nybegynder
04. juni 2004 - 00:30 Der er 20 kommentarer og
3 løsninger

Vis indhold af PHP fil?

<?
echo "Hello world";
?>

Bliver normalt til:
Hello world

skal udskrives som:
<?
echo "Hello world";
?>

Hvordan gør jeg det?
Avatar billede jakoba Nybegynder
04. juni 2004 - 00:36 #1
brug echo til at skrive det der ikke skal fortolkes (eller blot '<?' og '?>' klammerne omkring det. fx:

echo "<?\n";
echo 'echo "Hello world"\n';
echo "?>\n";
Avatar billede jakoba Nybegynder
04. juni 2004 - 00:40 #2
hvis det er en hel fil der sådan skal 'skrives råt' så check http://dk2.php.net/function.highlight-file

mvh JakobA
Avatar billede detox Nybegynder
04. juni 2004 - 00:42 #3
highlight_string() er osse en mulighed:

<?
$code = '<?
echo "Hello world";
?>';
highlight_string($code, false);
?>
Avatar billede playr Nybegynder
04. juni 2004 - 00:42 #4
ja men her er problemet, har denne her:

<?
echo $text;
?>
<br><br>
<form action="test.php" method="post">
<TEXTAREA NAME=text ROWS=10 COLS=40></TEXTAREA>
<input type="submit" name="Submit" value="Log in">

og hvis jeg skriver:
<?
echo "hello world";
?>

så udskriver den:

echo "hello world";
?>

ved ik hvorfor :/
Avatar billede playr Nybegynder
04. juni 2004 - 00:44 #5
detox :
med highlight_string() bliver texten helt lille og ulæselig så kan ik rigtig bruges!
Avatar billede playr Nybegynder
04. juni 2004 - 00:47 #6
ok bare lav svar detox, i får begge point, satte bare denne her ind:
$text = ereg_replace('<', '<', $table);
så virkede det!

men tak for hjælpen!
Avatar billede playr Nybegynder
04. juni 2004 - 00:49 #7
Hmm.. måske ikke alligevel!

har i ik den "kode" til hvordan man bare udskriver php... havde den engang kan bare ik huske den!
Avatar billede detox Nybegynder
04. juni 2004 - 00:49 #8
Tekststørrelsen kan du selv bestemme. Fx:

<span style="font: large sans-serif;">
<?
highlight_string('<?
echo "Hello world";
?>', false);
?>
</span>
Avatar billede playr Nybegynder
04. juni 2004 - 00:54 #9
Detox det hjælper jo ik!
for det skal være sådan at en bruger kan skrive:

"Og så kan man skrive:
<?
echo "hello world";
?>
så siger den Hello world"

Der skal ikke være <? ?> i det, kun hvis man selv skriver det.
Avatar billede playr Nybegynder
04. juni 2004 - 00:57 #10
Det skal være ligesom eksperten.dk's artikle system!
Altså du kan skrive:

Bla bla bla
<?
echo "hej";
?>

og hvis man skriver <t>text</t> eller noget så bliver det i en table - som jeg har lavet med ereg_replace()
Avatar billede detox Nybegynder
04. juni 2004 - 01:00 #11
Måske:

<?
if (isset($_POST['text'])) highlight_string(stripslashes($_POST['text']));
?>
<br><br>
<form action="test.php" method="post">
<TEXTAREA NAME=text ROWS=10 COLS=40></TEXTAREA>
<input type="submit" name="Submit" value="Log in">
Avatar billede playr Nybegynder
04. juni 2004 - 01:44 #12
hmm virker ikke!

Okay her er hele min kode:


---------------------Start---------------------

<?

$table = ereg_replace('<t>', '<table border=0 align=center cellpadding=5 cellspacing=0 style="border-collapse: collapse"  bordercolor=7A7A7A bgcolor=#eeeeee>
<tr>
<td style="border-top-style: solid; border-top-width: 1; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-bottom-style: solid; border-bottom-width: 1"><font face=verdana size=1>', $table);

$table = ereg_replace('</t>', '</td></tr></table>', $table);

echo nl2br($table);

?>
<br><br><br>
</table>
<form action="test.php" method="post">
<TEXTAREA NAME=table ROWS=10 COLS=40></TEXTAREA>
<input type="submit" name="Submit" value="skriv" class=button>


---------------------SLUT---------------------

Hvis man så skriver:
<t>Her er noget markeret</t>
så markerer den det med table!

Men man kan ikke skrive:
<?
echo "hello world";
?>

så skriver den bare:

echo \"hello world\";
?>
Avatar billede playr Nybegynder
04. juni 2004 - 01:48 #13
Skal også kombineres med "htmlentities()":

echo htmlentities(nl2br($table));

på en eller anden måde så man heller ikke kan skrive html.
Hmm... Er der ik en løsning til det hele? :)
Avatar billede sukos Juniormester
04. juni 2004 - 04:16 #14
Det her virker da fint nok til at vise kode som er indtastet:
<?php
if(isset($_POST["table"])) {
highlight_string(stripslashes($_POST["table"]));
?>
<br><br><br>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<TEXTAREA NAME="table" ROWS="10" COLS="40"></TEXTAREA>
<input type="submit" name="Submit" value="skriv" class=button>

Men det er så uden dit "table-sjov"
Avatar billede sukos Juniormester
04. juni 2004 - 05:16 #15
hov,
<?php
if(isset($_POST["table"])) {
highlight_string(stripslashes($_POST["table"]));
?>

mangler jo lige at blive afsluttet!

<?php
if(isset($_POST["table"])) {
highlight_string(stripslashes($_POST["table"]));
}
?>
Avatar billede detox Nybegynder
04. juni 2004 - 06:43 #16
Her er et nyt forslag:

<?
if (isset($_POST['Submit'])) {
$table = stripslashes($_POST['table']);
$table = preg_replace("/(\<\?.*\?\>)/se", "highlight_string(stripslashes('$1'), true)", $table);
$table = ereg_replace('<t>', '<table border=0 align=center cellpadding=5 cellspacing=0 style="border-collapse: collapse"  bordercolor=7A7A7A bgcolor=#eeeeee>
<tr>
<td style="border-top-style: solid; border-top-width: 1; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-bottom-style: solid; border-bottom-width: 1"><font face=verdana size=1>', $table);
$table = ereg_replace('</t>', '</td></tr></table>', $table);
$table = strip_tags($table, '<table><tr><td><font>');
echo nl2br($table);
}
?>
<br><br><br>
</table>
<form action="test3.php" method="post">
<TEXTAREA NAME=table ROWS=10 COLS=40></TEXTAREA>
<input type="submit" name="Submit" value="skriv" class=button>
Avatar billede playr Nybegynder
04. juni 2004 - 20:16 #17
detox dit sidste virker!
sukos lav lige svar, synes også du har fortjent nogle af pointene for at have prøvet.
Avatar billede playr Nybegynder
04. juni 2004 - 20:17 #18
btw.
Detox, den viser ikke HTML'en? vil havde den til både at vise html og php (asp, javascript osv.) alt indhold.
Avatar billede sukos Juniormester
04. juni 2004 - 20:20 #19
ok, du.
Avatar billede playr Nybegynder
04. juni 2004 - 20:24 #20
ok det var bare denne her:
$table = preg_replace("/(\<.*\>)/se", "highlight_string(stripslashes('$1'), true)", $table);

så virker det, tak for hjælpen :P
Avatar billede playr Nybegynder
04. juni 2004 - 20:27 #21
okay hvis du lige gider så må du gerne hjælpe hehe. for hvis jeg bruger den der som jeg har skrevet så virker den ikke med
<t> = table
:)
Avatar billede detox Nybegynder
05. juni 2004 - 09:44 #22
Det er lidt kringlet, når du både vil blæse og ha' mel i munden ;o).
Du kan evt. gøre det sådan her, men så bliver php ikke umiddelbart highlighted:

<?
if (isset($_POST['Submit'])) {
$table = htmlentities(stripslashes($_POST['table']));
$table = ereg_replace('&lt;t&gt;', '<table border=0 align=center cellpadding=5 cellspacing=0 style="border-collapse: collapse"  bordercolor=7A7A7A bgcolor=#eeeeee>
<tr>
<td style="border-top-style: solid; border-top-width: 1; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-bottom-style: solid; border-bottom-width: 1"><font face=verdana size=1>', $table);
$table = ereg_replace('&lt;/t&gt;', '</td></tr></table>', $table);
echo nl2br($table);
}
?>
<br><br><br>
</table>
<form action="test3.php" method="post">
<TEXTAREA NAME=table ROWS=10 COLS=40></TEXTAREA>
<input type="submit" name="Submit" value="skriv" class=button>
Avatar billede playr Nybegynder
06. juni 2004 - 19:48 #23
tak for al den tid du tog dig til at hjælpe mig detox, det virker fint nu :P
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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