提问人:DTSolutions 提问时间:10/31/2023 更新时间:10/31/2023 访问量:27
PHP 括号解析数据
PHP Bracket Parsing Data
问:
我正在尝试构建自己的页面构建器的简单版本。我被困在从代码中获取属性和值。
我的目标是构建一些可以采用如下代码块的东西:
[section id="section-post" class="" data-id="43" data-var="mosa"]
[container width="full"]
[row]
[block id="block-3 " class="col-lg-12 col-md-12 col-sm-12 col-xs-12 block-3-css"]
[content id="3"] [special_heading type="h1" id="content-3" class=""]Welcome Title[/special_heading] [/content]
[content id="content-4"] [divider class="divider line"][/divider] [/content]
[content id="5"]
[text]<p>This is a paragraph.</p>[/text]
[/content]
[/block]
[/row]
[/container]
[/section]
使用 php,找到所有括号,识别它们,提取它们的属性,并将它们用作变量,我可以传递到函数中以表单编辑它们的属性值。
有人能为我指出正确的方向吗?到目前为止,我已经能够使用下面的代码来识别括号及其中的内容。
$pattern = '/\[(\w+)([^\]]*)\]/';
if (preg_match_all($pattern, $page_data, $matches, PREG_SET_ORDER)) {
foreach ($matches as $match) {
$blockType = $match[1];
$attributesString = $match[2];
echo "TYPE: $blockType <br /> ATTR: $attributesString <hr />";
if ($blockType == "content") {
}
}
}
我得到每个 [] 项目的输出:
类型: section ATTR:id=“section-post” class=“” data-id=“43” data-var=“mosa”
类型:容器 ATTR:width=“完整”
类型:row ATTR:
类型:块 ATTR:id=“block-3”class=“col-lg-12 col-md-12 col-sm-12 col-xs-12 block-3-css”
类型: 内容 ATTR:id=“3”
类型: special_heading ATTR:类型=“h1” id=“内容-3” 类=“”
我正在努力弄清楚接下来需要做什么才能找到分配属性及其值的东西。甚至可能有更好的方法来做到这一点?
例如,我如何正确地获得这样的东西?
$section_attr_id=“部分帖子”;
$section_attr_data_id=“43”;
有没有更好的方法可以代替这个?
答: 暂无答案
评论