PHP Preg_replace-用换行符替换内容

时间:2018-12-02 12:12:51

标签: php preg-replace

我正在将一些旧内容从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就不起作用了。我可以替换换行符开始,但是我需要保留它们。

谢谢

洛朗

0 个答案:

没有答案