<?php
$comentario = '\\';
$comentario = '/**
* @var string
* @Assert\NotBlank(message = "El nombre no puede estar vacío")
* @Assert\Regex(pattern="/^ /", match = false, message="El nombre no puede empezar con espacios")
* @Assert\Regex(pattern="/ $/", match = false, message="El nombre no puede terminar con espacios")
*/';
//preg_match( '/Assert\\\(?P<nombre>\w+)(.*)\s*/m', $comentario, $assert );
//preg_match_all( '/Assert\\\(?P<nombre>\w+)((?P<parametros>.+))\s*/m', $comentario, $assert );
preg_match_all( '/Assert\\\(?P<nombre>\w+)\(.+\)\s*/m', $comentario, $assert );
var_dump($assert);
array(3) {
[0]=>
array(3) {
[0]=>
string(66) "Assert\NotBlank(message = "El nombre no puede estar vacío")
"
[1]=>
string(100) "Assert\Regex(pattern="/^ /", match = false, message="El nombre no puede empezar con espacios")
"
[2]=>
string(101) "Assert\Regex(pattern="/ $/", match = false, message="El nombre no puede terminar con espacios")
"
}
["nombre"]=>
array(3) {
[0]=>
string(8) "NotBlank"
[1]=>
string(5) "Regex"
[2]=>
string(5) "Regex"
}
[1]=>
array(3) {
[0]=>
string(8) "NotBlank"
[1]=>
string(5) "Regex"
[2]=>
string(5) "Regex"
}
}
Output for 4.3.0 - 4.3.2
array(2) {
[0]=>
array(3) {
[0]=>
string(66) "Assert\NotBlank(message = "El nombre no puede estar vacío")
"
[1]=>
string(100) "Assert\Regex(pattern="/^ /", match = false, message="El nombre no puede empezar con espacios")
"
[2]=>
string(101) "Assert\Regex(pattern="/ $/", match = false, message="El nombre no puede terminar con espacios")
"
}
[1]=>
array(3) {
[0]=>
string(8) "NotBlank"
[1]=>
string(5) "Regex"
[2]=>
string(5) "Regex"
}
}