我试图剥离Chrome插件添加到我们的WordPress帖子的标签。PCRE正则表达式/ WordPress的/剥离标签
生姜软件拼写和语法检查器(https://chrome.google.com/webstore/detail/spell-checker-and-grammar/kdfieneakcjfaiglcfcgkidlkmlijjnh?hl=en)改变了幕后的HTML,并使页面上散布着spurious span标签,用于class =“GINGER_SOFTWARE_mark”。
我的确发现了一个晦涩的WordPress插件,但它们已经更新了Chrome扩展,并且它不再适用于标签格式的更改,作者已经离职了,因此我一直在更新插件我自己,我很接近,但需要一只手通过最后阶段....任何接球者?
这是我剥标签的样本:
<span class="GINGER_SOFTWARE_mark" id="8199646e-ebe6-45e9-bbe2-b212389a8120">words go here</span>
,我一直在试图调整插件是这一个:http://wordpress.org/plugins/ginger-tag-remover/
使用Debuggex我能得到这个PCRE正则表达式相匹配上面:
\<span class\=\"GINGER_SOFTWARE_mark\" id=\"[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"\>(.*?)\<\/span\>
,但实现它到PHP不工作这么好......
下面是来自插件解除代码:
if (!function_exists('add_action')) {
echo 'Leave me alone. I don\'t want trouble.';
exit;
}
function gtr_strip_ginger_tags($content){
$gtr_patern_array=array();
array_push($gtr_patern_array,array('pattern'=>'#\<span class\=\\\"GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct\\\"\>(.*?)\<\/span\>#m','replace'=>'$1'));
array_push($gtr_patern_array,array('pattern'=>'#\<span class\=\\\"GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct\\\"\>(.*?)\<\/span\>#m','replace'=>'$1'));
array_push($gtr_patern_array,array('pattern'=>'#\<span class\=\\\"GINGER_SOFATWARE_correct\\\"\>(.*?)\<\/span\>#m','replace'=>'$1'));
array_push($gtr_patern_array,array('pattern'=>'#\<span class\=\\\"GINGER_SOFATWARE_spelling\\\"\>(.*?)\<\/span\>#m','replace'=>'$1'));
foreach($gtr_patern_array as $pat){
$content=preg_replace($pat['pattern'],$pat['replace'],$content);
}
//$content.='<!-- GINGER CLEANED -->';
return $content;
}
add_filter('content_save_pre','gtr_strip_ginger_tags');
我尝试添加此:
array_push($gtr_patern_array,array('pattern'=>'#\<span class\=\\\"GINGER_SOFTWARE_mark\\\" id=\\\"[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"\\\ \>(.*?)\<\/span\>#m','replace'=>'$1'));
认为我接近,但不知道我需要调整,有什么建议?
卡鲁
删除评论 – Karu