yaml_parse
En esta página
yaml_parse
Analiza una secuencia de texto en formato YAML
Descripción#
yaml_parse(string $input, [int $pos], [int $ndocs], [array $callbacks]): mixed
```php
Convierte toda o parte de una secuencia de texto en YAML a una variable en PHP.
## Parámetros
`input`
La secuencia de texto (`string`) a analizar en formato YAML.
`pos`
Documento YAML a extraer desde la secuencia de texto (`-1` para analizar todos los documentos, `0` solo para el primer documento, etc).
`ndocs`
Si se facilita `ndocs`, se completará con el número de documentos encontrados en la secuencia de texto.
`callbacks`
Controlador de contenido para los nodos YAML. Es un `array` asociativo de etiquetas YAML =\> asociando sus `callable` correspondientes. Ver [Analizar callbacks](#yaml.callbacks.parse) para más información.
## Valores devueltos
Devuelve el valor codificado de `input` en el formato apropiado de PHP o `false` si ocurre un error. Si el valor de `pos` es `-1` devolverá un `array` con una entrada por cada documento encontrado en el texto.
## Ejemplos
Ejemplo de `yaml_parse`
```php
Resultado del ejemplo anterior es similar a:
array(8) {
["invoice"]=>
int(34843)
["date"]=>
string(10) "2001-01-23"
["bill-to"]=>
&array(3) {
["given"]=>
string(5) "Chris"
["family"]=>
string(6) "Dumars"
["address"]=>
array(4) {
["lines"]=>
string(34) "458 Walkman Dr.
Suite #292"
["city"]=>
string(9) "Royal Oak"
["state"]=>
string(2) "MI"
["postal"]=>
int(48046)
}
}
["ship-to"]=>
&array(3) {
["given"]=>
string(5) "Chris"
["family"]=>
string(6) "Dumars"
["address"]=>
array(4) {
["lines"]=>
string(34) "458 Walkman Dr.
Suite #292"
["city"]=>
string(9) "Royal Oak"
["state"]=>
string(2) "MI"
["postal"]=>
int(48046)
}
}
["product"]=>
array(2) {
[0]=>
array(4) {
["sku"]=>
string(6) "BL394D"
["quantity"]=>
int(4)
["description"]=>
string(10) "Basketball"
["price"]=>
int(450)
}
[1]=>
array(4) {
["sku"]=>
string(7) "BL4438H"
["quantity"]=>
int(1)
["description"]=>
string(10) "Super Hoop"
["price"]=>
int(2392)
}
}
["tax"]=>
float(251.42)
["total"]=>
float(4443.52)
["comments"]=>
string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}
Notas#
[!WARNING] El procesamiento de las entradas de los usuarios no confiables con
yaml_parsees peligroso si el uso deunserializeestá habilitado para los nodos usando la etiqueta!php/object. Este comportamiento puede ser desactivado por el uso de el ajuste iniyaml.decode_php.
Véase también#
yaml_parse_file, yaml_parse_url, yaml_emit