У меня есть этот код:Как заменить строку на большее количество строк в другой строке?
<body>
<label id="Label1052">The loop is below</label>
<img id="Image733" src="logo-2.png">
<!--the loop--><div id="theLoop">
<label id="Label736">{title}</label>
<label id="Label737">{date}</label>
<label id="Label739">{content}</label>
</div><!--the loop-->
</body>
Ожидаемый результат:
<body>
<label id="Label1052">The loop is below</label>
<img id="Image733" src="logo-2.png">
<!--the loop--><div id="theLoop">
<label id="Label736">Post 1</label>
<label id="Label737">Jan 1</label>
<label id="Label739">The content</label>
</div>
<div id="theLoop">
<label id="Label736">Post 2</label>
<label id="Label737">Jan 5</label>
<label id="Label739">The content</label>
</div>
<div id="theLoop">
<label id="Label736">Post 3</label>
<label id="Label737">Jan 6</label>
<label id="Label739">The content</label>
</div><!--the loop-->
</body>
Вот мой PHP:
// contains the content above
$markup = "<body>...</body>";
// find the loop and get the contents that has tokens
$match = preg_match("<!--the loop-->(.*)<!--the loop-->");
for (var i;i<itemCount;i++) {
$item = items[i];
// start to replace content - there are many tokens - I have a function
$newContent = replaceTokensInContent($item, $match);
$myArray.push($newContent);
}
$newContent = $myArray.join();
// put the content back into the markup
$updated_markup = preg_replace("<!--the loop-->(.*)<!--the loop-->", $newContent, $markup);
Я хочу, чтобы получить содержимое между двумя маркерами <!--the loop-->
, а затем заменить маркеры в течение нескольких раз (у меня есть функция), а затем снова верните эту заполненную строку в основную строку.
Я знаю, как сделать это регулярное выражение в JavaScript, но не PHP.
не могли бы вы попытаться положить конец вывода, который вы ищете. –
И каков ваш возможный ожидаемый результат. [Regex - не идеальный инструмент для работы с HTML] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –
@ Учиха из клана листьев и Сашант, я только что обновил вопрос. Я добавлю ожидаемый результат. –