mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 23:22:48 +08:00
Merge branch 'master' of https://github.com/top-think/framework
This commit is contained in:
@@ -699,7 +699,7 @@ class Template
|
|||||||
*/
|
*/
|
||||||
public function parseAttr($str, $name = null)
|
public function parseAttr($str, $name = null)
|
||||||
{
|
{
|
||||||
$regex = '/\s+(?>(?<name>[\w-]+)\s*)=(?>\s*)([\"\'])(?<value>(?:(?!\\2).)*)\\2/is';
|
$regex = '/\s+(?>(?P<name>[\w-]+)\s*)=(?>\s*)([\"\'])(?P<value>(?:(?!\\2).)*)\\2/is';
|
||||||
$array = [];
|
$array = [];
|
||||||
if (preg_match_all($regex, $str, $matches, PREG_SET_ORDER)) {
|
if (preg_match_all($regex, $str, $matches, PREG_SET_ORDER)) {
|
||||||
foreach ($matches as $match) {
|
foreach ($matches as $match) {
|
||||||
@@ -1114,9 +1114,9 @@ class Template
|
|||||||
switch ($tagName) {
|
switch ($tagName) {
|
||||||
case 'block':
|
case 'block':
|
||||||
if ($single) {
|
if ($single) {
|
||||||
$regex = $begin . '(?:' . $tagName . '\b(?>(?:(?!name=).)*)\bname=([\'\"])(?<name>[\$\w\-\/\.]+)\\1(?>[^' . $end . ']*)|\/' . $tagName . ')' . $end;
|
$regex = $begin . '(?:' . $tagName . '\b(?>(?:(?!name=).)*)\bname=([\'\"])(?P<name>[\$\w\-\/\.]+)\\1(?>[^' . $end . ']*)|\/' . $tagName . ')' . $end;
|
||||||
} else {
|
} else {
|
||||||
$regex = $begin . '(?:' . $tagName . '\b(?>(?:(?!name=).)*)\bname=([\'\"])(?<name>[\$\w\-\/\.]+)\\1(?>(?:(?!' . $end . ').)*)|\/' . $tagName . ')' . $end;
|
$regex = $begin . '(?:' . $tagName . '\b(?>(?:(?!name=).)*)\bname=([\'\"])(?P<name>[\$\w\-\/\.]+)\\1(?>(?:(?!' . $end . ').)*)|\/' . $tagName . ')' . $end;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'literal':
|
case 'literal':
|
||||||
@@ -1142,9 +1142,9 @@ class Template
|
|||||||
$name = 'name';
|
$name = 'name';
|
||||||
}
|
}
|
||||||
if ($single) {
|
if ($single) {
|
||||||
$regex = $begin . $tagName . '\b(?>(?:(?!' . $name . '=).)*)\b' . $name . '=([\'\"])(?<name>[\$\w\-\/\.\:@,\\\\]+)\\1(?>[^' . $end . ']*)' . $end;
|
$regex = $begin . $tagName . '\b(?>(?:(?!' . $name . '=).)*)\b' . $name . '=([\'\"])(?P<name>[\$\w\-\/\.\:@,\\\\]+)\\1(?>[^' . $end . ']*)' . $end;
|
||||||
} else {
|
} else {
|
||||||
$regex = $begin . $tagName . '\b(?>(?:(?!' . $name . '=).)*)\b' . $name . '=([\'\"])(?<name>[\$\w\-\/\.\:@,\\\\]+)\\1(?>(?:(?!' . $end . ').)*)' . $end;
|
$regex = $begin . $tagName . '\b(?>(?:(?!' . $name . '=).)*)\b' . $name . '=([\'\"])(?P<name>[\$\w\-\/\.\:@,\\\\]+)\\1(?>(?:(?!' . $end . ').)*)' . $end;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ class TagLib
|
|||||||
*/
|
*/
|
||||||
public function parseAttr($str, $name, $alias = '')
|
public function parseAttr($str, $name, $alias = '')
|
||||||
{
|
{
|
||||||
$regex = '/\s+(?>(?<name>[\w-]+)\s*)=(?>\s*)([\"\'])(?<value>(?:(?!\\2).)*)\\2/is';
|
$regex = '/\s+(?>(?P<name>[\w-]+)\s*)=(?>\s*)([\"\'])(?P<value>(?:(?!\\2).)*)\\2/is';
|
||||||
$result = [];
|
$result = [];
|
||||||
if (preg_match_all($regex, $str, $matches)) {
|
if (preg_match_all($regex, $str, $matches)) {
|
||||||
foreach ($matches['name'] as $key => $val) {
|
foreach ($matches['name'] as $key => $val) {
|
||||||
|
|||||||
Reference in New Issue
Block a user