通过PHP将div替换为相对id

时间:2018-04-18 12:04:02

标签: php html

有HTML:

<div id="attachment_21727" class="someclass">
  <img alt="text" src="url" />
  <p class="wp-caption-text">Text</p>
</div>

我需要将div替换为另一个标记。所以我需要找到这个div,找到其中的内容,然后替换。

attachment_21727 - relative as attachment_{number}

所以我有一个函数PHP:

$pattern = "/<div id=\"attachment_(.*?)\" (.*?)>(.*?)<\/div>/i";
$replacement = '<figure>$3</figure>';
$content = preg_replace($pattern, $replacement, $content);

但是没有工作......有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要更改正则表达式,如下所示: -

#<div id=\"attachment_(.*?)\">(.+?)</div>#s

工作片段: -

<?php

$content = '<div id="attachment_21727" class="someclass">
  <img alt="text" src="url" />
  <p class="wp-caption-text">Text</p>
</div>';

$pattern = "#<div id=\"attachment_(.*?)\">(.+?)</div>#s";



$replacement = '<figure>$2</figure>';

echo $content = preg_replace($pattern, $replacement, $content);

输出: - https://eval.in/990377