将标记嵌入到内容中,没有比regex更复杂的方法可以做到这一点markup parser like SimpleHTMLDom
function remove_image_link_102512($content) {
$pattern = \'|<a.*?href="(.*)".*>?(<img.*?/?>)(?:</a>)?|\';
$content = preg_replace($pattern,\'$2\',$content);
return $content;
}
add_filter(\'the_content\',\'remove_image_link_102512\');
与所有regex+标记解决方案一样,我会彻底测试它。当然,由于没有更新任何保存的数据,因此如果失败,不会造成灾难性的或永久性的破坏。