Привет имейте следующее содержание в странице HTML, которая расширяет несколько строк
<div class="c-fc c-bc" id="content">
<span class="content-heading c-hc">Heading 1 </span><br />
The Home Page must provide a introduction to the services provided.<br />
<br />
<span class="c-sc">Sub Heading</span><br />
The Home Page must provide a introduction to the services provided.<br />
<br />
<span class="c-sc">Sub Heading</span><br />
The Home Page must provide a introduction to the services provided.<br />
</div>
Я должен заменить все между <div class="c-fc c-bc" id="content">
и </div>
с пользовательским текстом
Я использую следующий код для выполнения этого, но он не хочет работать, если это - несколько строк, но работает, если evertinh находится в одной строке
$body = file_get_contents('../../templates/'.$val['url']);
$body = preg_replace('/<div class=\"c\-fc c\-bc\" id=\"content\">(.*)<\/div>/','<div class="c-fc c-bc" id="content">abc</div>',$body);
Я пропускаю что-то?
Если это не HTML, я бы сказал вам использовать Модификатор dotall для изменения значения .
От «Соответствует всему, кроме новой строки», чтобы соответствовать всему:
preg_replace('/(.*)<\/div>/s','abc',$body);
, но это HTML, поэтому вместо этого используйте парсер HTML.