Я пытаюсь снять теги, добавленные аддоном Chrome в наши сообщения WordPress.PCRE Regex/WordPress/дескрипторы
Проверка правописания и грамматики программного обеспечения Ginger (https://chrome.google.com/webstore/detail/spell-checker-and-grammar/kdfieneakcjfaiglcfcgkidlkmlijjnh?hl=en) изменяет HTML за кулисами и оставляет страницу, замусоренную ложными метками span для класса = "GINGER_SOFTWARE_mark".
Я нашел скрытый плагин WordPress, который их расшифровывает, но с тех пор обновил расширение Chrome, и он больше не работает по мере изменения формата тега, автор прошел AWOL, поэтому я сделал снимок при обновлении плагин сам, я рядом, но нужно, чтобы рука прошла финальную стадию ... Любые берущие?
Это пример тега я вскрышных:
<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