0
我想用正則表達式來解析我有的模板。我想爲_start
標籤找到_stop
標籤。因爲可以嵌套_stop
和_start
標籤,所以我需要找到具體的標籤。preg_match反向引用找到結束標記
我使用的正則表達式是
/{(.*?)_start}.*{(\1_stop)}/s
和投擲變成一隻preg_match
而且模板
<div data-role="collapsible-set" class="mfe_collapsibles" data-theme="c" data-inset="false">
{MakeAppointment_start}
<div id="appointmentHeading" data-action-id="appointmentNext" data-action-text="Next" data-a data-role="collapsible" data-collapsed="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-iconpos="right">
<h3 class="collapsibleMainHeading">New {AppointmentTerm}</h3>
<p>
{AppointmentForm}
</p>
</div>
{MakeAppointment_stop}
{RegisterSection_start}
<div id="registerHeading" class="preRegistration" data-action-id="register" data-action-text="Register" data-role="collapsible" data-collapsed="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-iconpos="right">
<h3 class="collapsibleMainHeading">Register</h3>
<p>
{RegisterForm}
</p>
</div>
{RegisterSection_stop}
<div data-role="collapsible" class="preRegistration" data-collapsed="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-iconpos="right">
<h3 class="collapsibleMainHeading">Login</h3>
<p>
{LoginForm}
</p>
</div>
</div>
</div>
的結果是
Array
(
[0] => {MakeAppointment_start}
<div id="appointmentHeading" data-action-id="appointmentNext" data-action-text="Next" data-a data-role="collapsible" data-collapsed="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-iconpos="right">
<h3 class="collapsibleMainHeading">New {AppointmentTerm}</h3>
<p>
{AppointmentForm}
</p>
</div>
{MakeAppointment_stop}
[1] => MakeAppointment
[2] => MakeAppointment_stop
)
工業ex 0是正確的,但1和2不是。 1應該有寄存器標籤和內容,2不應該存在。
我在這裏做錯了什麼?
實際上引擎扼住他們與他們逃脫。 PHP文檔說,如果他們逃脫,他們將被視爲文字字符。 – Bot
但是你希望它們是文字字符。如果你逃脫它們,究竟發生了什麼?或者,你可以發佈你的'preg_match'調用嗎? –