preg_replace_callback
Hej.
Jag försöker skapa ett enkelt system för att använda en viss funktion under vissa specifika undersidor. Såhär hade jag tänkt mig: En fil är skapad, ex: bildspel.php En databaskoppling är ansluten till filen och information som ska visas i kontentan ska hämtas från databasen. Informationen som hämtas från databasen finns i 'post_content'. I just 'post_content' är tanken att man enkelt ska kunna skriva informationen om vald undersida, samt att man även ska kunna inkludera färdiga funktioner som är tillagda på FTP:n. Ungefär såhär: Vi på företaget AB skulle vilja visa er vårt bildspel: [include]inc.slider.php[/include] Vi vill tacka Foto Grafen för alla bilder! Mitt resultat av texten ovan skulle bli en output på detta: Bildspelet (include fungerar) Vi på företaget AB skulle vilja visa er vårt bildspel: Vi vill tacka Foto Grafen för alla fotona. (Jag får även med en 1 på köpet?) Jag vill att det blir såhär: Vi på företaget AB skulle vilja visa er vårt bildspel: Bildspelet (include fungerar) Vi vill tacka Foto Grafen för alla fotona. (Ingen 1) Jag förmodar att ni förstår att texten mellan [include][/include] är den fil som ska inkluderas. I detta fall blir resultatet: include "inc.slider.php"; Jag använder mig av funktionen 'preg_replace_callback' som borde vara den rätta? Tack på förhand! Edit: om man vill lägga till ett kontaktformulär istället för ett bildspel så skriver man [include]inc.contact.form.php[/include] istället för [include]inc.slider.php[/include]. |
Hur ser din php-kod ut?
Någonstans har du en echo eller print på någonting, förmodligen ett boolean-värde eller ett funktionsanrop som returnerar true. |
Citat:
function parse_tags_recursive($input) { $regex = '#\[inc]((?:[^[]|\[(?!/?inc])|(?R))+)\[/inc]#'; if(is_array($input)) { $input = require_once($input[1]); } return preg_replace_callback($regex, 'parse_tags_recursive', $input); } $post_content = parse_tags_recursive($row['post_content']); |
Alla tider är GMT +2. Klockan är nu 03:32. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson