webForumDet fria alternativet
Logga in / Bli medlem

preg_replace?

PHP

4 svar · 366 visningar · startad av slow

Medlem sedan apr. 2004148 inlägg
Trådstart#1

Hej!

Är det möjligt att använda sig av preg_replace på något sätt för att göra om [include] till att inkludera en fil? Fungerar inte som jag gjort nedan men antar att det beror på phptecknena?

$pattern = array (
      '/\[include\](.*?)\[\/include\]/is'
);
$replace = array (
      '<? include ".$1." ; ?>'
);

$row_sidor['content_p'] = preg_replace($pattern, $replace, $row_sidor['content_p']); 

echo $row_sidor['content_p'];
Medlem sedan jan. 2005953 inlägg
#2
preg_replace('#\[include](.*)\[/include]#e', 'include("$1")', $text);

Men är det verkligen en include du vill göra? Det blir lite konstigt resultat av det. Testa att ändra till file_get_contents istället...

Medlem sedan apr. 2004148 inlägg
#3

Tack för ditt svar!

Jag vill göra en include.. :) Dock en include som visas i texten. Alltså,

$row_sidor['content_p'] innehåller sidan som hämtas från databasen. Och om jag i en sådan sida sätter in [include]fil.php[/include] så skulle jag vilja att den filen inkluderas där man sätter den. Inte att den visas istället för sidan som hämtas i databasen utan att den sätts in i sidan som hämtas från databasen där man satt sin [include]. Har försökt flera dagar med olika sätt men enda jag lyckats med att är att includen visats istället för sidan som hämtas från databasen.

Några ideer?

Medlem sedan jan. 2005953 inlägg
#4

Är det PHP kod du vill inkludera (och köra) eller är det text (med eller utan htmlformatering)?

Medlem sedan apr. 2004148 inlägg
#5

Det är PHP kod jag vill inkludera och köra... :)

Jag är det på spåren men inte riktigt lyckats ännu...håller på och leker med preg_replace_callback... :D

255 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)