Avatar billede lademan Novice
16. december 2003 - 10:09 Der er 14 kommentarer og
1 løsning

str_replace og include

Hejsa.

Jeg har en variabel, $row[tekst], hvor [VOTE]www.ole.dk[/VOTE] skal udskifes med: include("www.ole.dk");

Jeg har problemer med at få det til at virke, når jeg "printer" $row[tekst].

Koden er:

$row[tekst] = str_replace("[VOTE]", "<?php \"; include(\"", $row[tekst]);
$row[tekst] = str_replace("[/VOTE]", "\"); print \" ?>", $row[tekst]);
print "$row[tekst]";
Avatar billede lademan Novice
16. december 2003 - 10:24 #1
Jeg skal da bruge <?php i str_replace ikke?
Avatar billede Slettet bruger
16. december 2003 - 10:27 #2
prøv bare for en sikkerheds skyld at skrive:

$row[tekst] = str_replace("[VOTE]", "<?php \"; include(\"", $row[tekst]);
$row[tekst] = str_replace("[/VOTE]", "\"); print \" \?\>", $row[tekst]);
Avatar billede jakoba Nybegynder
16. december 2003 - 10:29 #3
din  print vil blot skrive  <?php include('xxx'); ?>  i den html kildekode der bliver sendt til browseren.

Du skal nok gøre noget i retning af:

$temp = explode( "[VOTE]", $row[tekst], 2 );
while( count($temp) > 1 ) {
    print $temp[0];
    $temp = explode( "[/VOTE]", $temp[1], 2 );
    include( $temp[0] );
    $temp = explode( "[VOTE]", $row[tekst], 2 );
}

mvh JakobA
Avatar billede lademan Novice
16. december 2003 - 10:29 #4
den er ikke helt vild med det ?-)
Avatar billede jakoba Nybegynder
16. december 2003 - 10:31 #5
Ups. sidste linie i løkken er gal.
    $temp = explode( "[VOTE]", $temp[1], 2 );  //
Avatar billede lademan Novice
16. december 2003 - 10:34 #6
Den går helt i stå - siden indkøres ikke :-(
Avatar billede lademan Novice
16. december 2003 - 10:35 #7
Jeg går fra at din kode, jakob, printer hele $row[tekst]?
Avatar billede lademan Novice
16. december 2003 - 10:38 #8
Hmm - siden køres ind, men den printer ikke noget ?-)
Avatar billede jakoba Nybegynder
16. december 2003 - 10:42 #9
lav en view source og se hvad der står.
Avatar billede lademan Novice
16. december 2003 - 10:42 #10
$row[tekst] indeholder en masse tekst, men det udskrives ikke, ligesom include heller ikke køres..
Avatar billede lademan Novice
16. december 2003 - 10:43 #11
Der skrives intet i view source
Avatar billede jakoba Nybegynder
16. december 2003 - 10:47 #12
Ups, den sidste del af strengen (efter [/VOTE]) bliver ikke skrevet

$temp = explode( "[VOTE]", $row[tekst], 2 );
while( count($temp) > 1 ) {
    print $temp[0];
    $temp = explode( "[/VOTE]", $temp[1], 2 );
    include( $temp[0] );
    $temp = explode( "[VOTE]", $temp[1], 2 );
}
print $temp[0];      // skriv resten af strengen
Avatar billede lademan Novice
16. december 2003 - 10:48 #13
Det skal lige siges, at det kun er i nogle artikler [VOTE] (afstemning) befinder sig..
Avatar billede detox Nybegynder
16. december 2003 - 11:49 #14
Du kunne prøve sådan:

if (preg_match("|(.*)\[VOTE\](.*)\[/VOTE\](.*)|", $row['tekst'], $match)) {
    echo $match[1];
    include($match[2]);
    echo $match[3];
} else {
    echo $row['tekst'];
}
Avatar billede lademan Novice
25. november 2007 - 16:40 #15
Mange tak for hjælpen! Da der ikke er nogen, der har afgivet svar, lukkes tråden.
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