我正在尝试清理cms数据库:所有内容都采用内联样式,我需要删除它们。
我有很多嵌套标记,所以我试图用<span>
替换<h3>
标记(我确定标题没有嵌套)然后使用HTMLPurifier我会清理其他标签。
我写这一行来用<span>
替换<h3>
标记:
$string = preg_replace( '/<span style="line-height: 17pt; font-family: helvetica; color: rgb\(85, 85, 85\); font-size: 13pt; font-weight: bold;">(.*?)<\/span>/', '<h3>$1</h3>',$string);
它适用于各种情况:
<span style="line-height: 17pt; font-family: helvetica; color: rgb(85, 85, 85); font-size: 13pt; font-weight: bold;">"Rischio obsolescenza" per i lettori Blu-ray</span>
也许“文中有问题。
我该如何解决这个问题?
答案 0 :(得分:1)
不,引号不是问题,正则表达式在我的测试中确实匹配。您确定在中间某处没有换行符,因为除非您使用/s
修饰符,否则该点与它们不匹配。所以,请尝试
$string = preg_replace( '/<span style="line-height: 17pt; font-family: helvetica; color: rgb\(85, 85, 85\); font-size: 13pt; font-weight: bold;">(.*?)<\/span>/s', '<h3>$1</h3>',$string);