美好的一天,
我有一个无法更改的预设情况,它围绕一部分html文本(页面正文),以及本机构内部的一些用户可配置标签。
这个非常类似于模板但与不可重构的源情况有关的问题是,我需要将原始主体拆分为
html part 1
tag1
html part 2
tag2
html part 3
tag3
等等,例如来自
<body>
<b>This is my first line</b> And this is <b>%%tag one%%</b> but of course it
doesn't end here %%second tag%%
Additionally %%second tag%% tags can be repeated inside the body.
In fact, %%tag one%% or even %%tagthree%%
</body>
理想情况下,我应该获得一个数组:
[0] = "<body>
<b>This is my first line</b> And this is <b>"
[1] = "%%tag one%%"
[2] = "</b> but of course it
doesn't end here "
[3] = "%%second tag%%"
[4] = "Additionally "
[5] = "%%second tag%%"
[6] = " tags can be repeated inside the body.
In fact, "
[7] = "%%tag one%%"
[8] = " or even "
[9] = "%%tagthree%%"
[10] = "
</body>"
标签是%%包含的简单文本标签(允许空格,_和 - ),例如%%first tag%%
我意识到有很多不同的解决方案,但由于我需要尽可能高的性能,我需要指导什么尝试以及要避免什么。另外,我想知道php是否已经为这种情况提供了一些功能。
希望你们中的一些人已经面对过这样的事情,理想的解决方案对于我目前的解析技巧来说有点太多了。
由于
答案 0 :(得分:1)
愚蠢的方式:
$parts = explode("%%", $str);
for($i=1;$i<count($parts);$i+=2) {
$parts[$i] = "%%".$parts[$i]."%%"
}