2016-04-08 4 views
-1

Я пытаюсь найти все от одного div до начала другого и включить все между ними, даже если есть разрыв строки и даже если есть другие теги и php-функции между ними ,найти и все, включая другие теги с regex

Я хочу, чтобы начать поиск в <div="constant-strip"> и заканчивается <?php включают ....

и я хочу, чтобы удалить все внутри и все, что приходит после <div="constant-strip">, пока он не достигнет <?php включают

даже если есть другие <?php и <div> теги между ними.

Я искал повсюду, но все регулярные выражения и подстановочные знаки и т. Д., Которые я могу найти, люди хотят остановить в конце div и не включать в себя divs, которые находятся внутри него или применяются только к тексту и т. Д. .

всех ([^<]) и я пытался ([\s\S])+ и все тех, кто, но ни один из них не работают в основном я хочу, чтобы изменить это:

<div id="constant_strip" class="clearfix"> 
<div class="clearfix"><a href="<?php echo $division ?>_brands.php"> 
<img src="images/people.png" width="22" height="21" style="<?php echo $stripColour ?>" />View our suppliers</a></div> 

<div id="call">Call us: 021 323 4088</div> 

</div> 
</div> 

<?php include('/footer.php'); ?> 

и превратить его в только в этом: <?php include('/footer.php'); ?> проблемы является что у него нет точно такой же информации на каждой странице е

+0

Пожалуйста, перепроверьте форматирование, я мог бы что-то пропустил. –

+0

в основном я хочу это изменить: – user3165948

+0

Приведите пример текста и то, что вы хотите совместить. –

ответ

0

Следующая регулярное выражение будет соответствовать средней части, вы хотите заменить:

(?<=<div id="constant_strip" class="clearfix">)[\s\S]*?(?=<\?php include)