정규식을 사용하여 템플릿을 파싱하려고합니다. _start
태그에 _stop
태그를 찾고 싶습니다. _stop
과 _start
태그가 중첩 될 수 있으므로 특정 태그를 찾아야합니다.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>
/{(.*?)_start}.*{(\1_stop)}/s
과 preg_match
에 그것을 던져 그리고 템플릿입니다
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' 호출을 게시 할 수 있습니까? –