Callback-функций (callback) для парсинга вызывается функциями yaml_parse(), yaml_parse_file() или yaml_parse_url() при обнаружении зарегистрированного тега YAML. В callback-функцию передаётся значение тегированной записи, сам тег и флаги, определяющие скалярный тип записи. Callback-функция должна вернуть данные, которые парсер YAML должен использовать для этой записи.
Пример #1 Пример использования callback-функции парсинга
<?php
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" }