PHP - Entfernen <?php ?> - tags aus einem string

Was ist der beste Weg, um diese zu entfernen-tags aus einem string, um es vorzubereiten weitergegeben eval() ?

zB. der string kann so etwas wie dieses:

<?php
  echo 'hello world';
  ?>
  Hello Again
  <?php

  echo 'Bye';
?>

Offensichtlich str_replace funktioniert nicht, weil die beiden php-tags in der Mitte da sein müssen (die 1. und die letzten, die entfernt werden müssen)

  • Warum wollen Sie dies tun? Es riecht wie eine schlechte Idee.
  • Die Antwort ist, dass Sie nicht verwenden eval. 😉 (Nur 25% Witze eigentlich.)
  • Ich verwendet eval sobald die Welpen gestorben, wahre Geschichte.
  • Vertrauen Sie mir, das ist ein sehr legitimer Grund sein 🙂
  • Welchen Zweck würde das sein?
  • eine textarea-Komponente, die ermöglicht es dem site-administrator das hinzufügen/ändern von Sachen in das aktuelle Thema.
  • Sie können versuchen, tokenisierung, dann entfernen Sie Sie wissen? 😉
  • eval() ist böse.. es kann dazu führen, dass alle Arten von Schwachstellen, da Sie nicht wissen, ob es schrubben Variablen, die Sie verwendet; der Zugriff auf Dinge, die auf dem Dateisystem, web, usw; Dinge, die Sie mit den session oder cookies; oder das töten von Welpen. Schlecht.
  • das Letzte hat mich zum lachen
  • Menschen, eval() ist nicht böse. Während es muss mit Vorsicht verwendet werden, ist es eine nützliche PHP-Funktion, die ideal für bestimmte Fälle
  • Zum Beispiel eval() wäre ideal, wenn Sie waren, Benutzer hinzufügen, PHP-code-snippets aus einer web-Oberfläche zur Ausführung auf der Baustelle. (Natürlich nur mit admin-Benutzer erlaubt werden würde, um auf die Schnittstelle zugreifen.)

InformationsquelleAutor Alex | 2010-07-01
Schreibe einen Kommentar