with strip_tags remove quitar para funcion etiquetas ejemplo php zend-framework php-extension php-internals

php - remove - strip_tags wordpress



Obtenga códigos de operación de PHP dinámicamente en tiempo de ejecución (1)

Puede usar parsekit que está disponible a través de pecl, que se puede descargar desde el parsekit o instalar con:

sudo pecl install parsekit

Obtenga códigos OP de una cadena de código PHP durante el tiempo de ejecución:

Puede usar parsekit_compile_string

La sintaxis para este comando es:

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )

Parámetros:

phpcode

Una cadena que contiene phpcode. Similar al argumento de eval ().

errores

Un hash 2D de errores (incluidos errores fatales) encontrados durante la compilación. Devuelto por referencia.

opciones

Uno de cualquiera PARSEKIT_QUIET o PARSEKIT_SIMPLE. Para producir diversos grados de verbosidad en la salida devuelta.

Valores de retorno

Devuelve una estructura de matriz multicapa compleja como se detalla a continuación.

Un ejemplo de uso de esto es:

<?php $ops = parsekit_compile_string('' echo "Foo/n"; '', $errors, PARSEKIT_QUIET); var_dump($ops); ?>

El resultado es demasiado largo para incluirlo en esta respuesta, pero está disponible en la parsekit_compile_string

Obtenga códigos OP de un archivo PHP durante el tiempo de ejecución:

Puede usar el parsekit_compile_file

Muy similar al enfoque anterior, pero analiza un archivo en lugar de una cadena.

Quiero construir una extensión de PHP que pueda inspeccionar dinámicamente cada código de operación generado desde un archivo PHP y verificarlo un poco.

Me encontré con varios sitios web y descubrí un par de funciones como zend_set_user_opcode_handler , pero no entiendo cómo se puede usar esta función para obtener un código de operación completo como ASSIGN !0, 50 .

php -d vld.active=1 -d vld.execute=0 -f [filename].php un comando como php -d vld.active=1 -d vld.execute=0 -f [filename].php que puedo usar para generar php -d vld.active=1 -d vld.execute=0 -f [filename].php PHP, pero hasta donde sé, solo puedes acceder al códigos de operación después de que finaliza el programa PHP.

Lo que me gustaría obtener de la extensión es un código de operación que se obtiene uno por uno (dinámicamente) a medida que se ejecuta la función.

¿Podría alguien ayudarme con este asunto?