包含变量标签

问题描述:

良好的一天,所有的PHP细分串,包含变量标签

我有一个无法改变预设的情况,即围绕HTML文本(一页面的主体)的部分的周围,还有一些用户可配置这个身体内部的标签。

的问题,这是非常类似模板但是这涉及到非refactorable源的情况下,是我需要到原来的身体分成

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已经有这种情况下的一些功能。

希望你们中的一些人已经面临类似这样的问题,这对我目前的解析技巧来说,理想情况下有点太难解决。

感谢

哑方式:

$parts = explode("%%", $str); 
for($i=1;$i<count($parts);$i+=2) { 
    $parts[$i] = "%%".$parts[$i]."%%" 
} 
+0

哈,这是聪明的,谢谢。让我看看。 – roamcel 2012-02-22 12:02:56