Análisis de callbacks

Los análisis de callbacks son invocados por las funciones yaml_parse(), yaml_parse_file() o yaml_parse_url() cuando encuentran una etiqueta YAML registrada. Al callback se le pasa el valor de la entidad de la etiqueta, la etiqueta, y los flags que indican el estilo escalar de la entidad. El callback debe devolver los datos que el convertidor YAML debe emitir para esta entidad.

Ejemplo #1 Ejemplo de análisis de callback

<?php
/**
 * Análisis de callback para un tag yaml.
 * @param mixed $valor Datos del archivo yaml
 * @param string $tag Etiqueta que desencadenó el callback
 * @param int $flags Estilo escalar de la entidad (ver YAML_*_SCALAR_STYLE)
 * @return mixed Valor que el convertidor YAML debería emitir para el valor dado
 */
function tag_callback ($valor$tag$flags) {
  
var_dump(func_get_args()); // depurando
  
return "Hola {$valor}";
}

$yaml = <<<YAML
saludo: !ejemplo/hola Mundo
YAML;

$resultado yaml_parse($yaml0$ndocs, array(
    
'!ejemplo/hola' => 'tag_callback',
  ));

var_dump($resultado);
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  string(5) "Mundo"
  [1]=>
  string(14) "!ejemplo/hola"
  [2]=>
  int(1)
}
array(1) {
  ["saludo"]=>
  string(11) "Hola Mundo"
}