Callback-функций (callback) для парсинга вызывается функциями yaml_parse(), yaml_parse_file() или yaml_parse_url() при обнаружении зарегистрированного тега YAML. В callback-функцию передаётся значение тегированной записи, сам тег и флаги, определяющие скалярный тип записи. Callback-функция должна вернуть данные, которые парсер YAML должен использовать для этой записи.
Пример #1 Пример использования callback-функции парсинга
<?php
/**
 * Callback-функция парсинга для тегов yaml.
 * @param mixed $value Данные из файла yaml
 * @param string $tag Тег, для которого срабатывает функция
 * @param int $flags Стиль скаляра записи (смотрите YAML_*_SCALAR_STYLE)
 * @return mixed Значение, которое должен выдать парсер YAML
 */
function tag_callback ($value, $tag, $flags) {
  var_dump(func_get_args()); // отладка
  return "Hello {$value}";
}
$yaml = <<<YAML
greeting: !example/hello World
YAML;
$result = yaml_parse($yaml, 0, $ndocs, array(
    '!example/hello' => 'tag_callback',
  ));
var_dump($result);
?>Вывод приведённого примера будет похож на:
array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}
