EFTEC / BladeOne

The standalone version Blade Template Engine without Laravel in a single php file and without dependencies
https://www.escuelainformatica.cl/
Other
784 stars 121 forks source link

x-component does not work with parameters that contain uppercase letters #195

Open nodesiremonk opened 1 month ago

nodesiremonk commented 1 month ago

It seems the parseParams() function only match lowercases (a-z). So any camelCase keys are not working correctly. e.g.

<x-componet one="value1" twoWord="value2">slot</x-component> only pass $one (not $twoWord) to the component.

Is it possible to include A-Z in the preg_match_all() function to make it work with keys containing uppercase letters?

protected function parseParams($params): string
{
    preg_match_all('/([a-z-0-9:]*?)\s*?=\s*?(.+?)(\s|$)/ms', $params, $matches);
    // ...
}
nodesiremonk commented 1 month ago

I tried to add the A-Z to the regex and it seems work for now.

preg_match_all('/([a-zA-Z0-9:-]*?)\s*?=\s*?(.+?)(\s|$)/ms', $params, $matches);