我正在将一些旧内容从CMS迁移到新的CMS,并且由于这些内容已经写了多年,因此html并不总是符合我想要的内容。这就是为什么我尝试使用一些preg_replace指令来使其整洁,但我却面临标签内部标签的问题。
一些例子:
<div class="myclass">my text to be kept</div>
如果我使用这个:
preg_replace('/<div class=\"myclass\">(.*)<\/div>/', '<span class="mynewclass">$1</span>', $content);
结果为:
<span class="mynewclass">my text to be kept</span>
这很好。
如果我在具有其他标签或换行符的文本上应用相同的内容
<div class="myclass">my text
to be
kept</div>
我认为(。*)也可以包含换行符,但是一旦文本中出现换行符,preg_replace就不起作用了。我可以替换换行符开始,但是我需要保留它们。
谢谢
洛朗