Еще потрахался и убрал ошметки entities из PHP.
Почему-то при втором пробеге основного массива теги не состригаются и остаются какашки в тексте сниппета, что говорит о том, что гребаный PHP обладает не меньшим количеством мудизмов, чем JS. Только вот в JS их нужно уметь готовить, а в PHP - это необъяснимая срань(иногда не работают операторы && в if, иногда strip_tags на foreach, иногда не ставится header полсе print и так далее ). Это все увлекательно и интересно, но сука бесит и доводит до абсурда. Это заражает мозг и ты привыкаешь на других языках делать так-же - напримр не использовать map, forEach и reduce в пользу нативного for if кода.
Собсна, очередной lol в студию. Странно, что в этот раз PHP под Mac ведет себя не так как под Linux, но это уже отдельная песня(всех пиздить).
Нужно поменять вот это на это и убрать обработку в конце:
$replace = trim(preg_replace('/ +/', ' ', preg_replace('/[^A-Za-z0-9 ]/', ' ', urldecode(strip_tags(html_entity_decode(strip_tags(preg_replace('/<[^>]*>/','',str_replace(array(" ","\n","\r"),"",html_entity_decode($v['field_content'], ENT_QUOTES,'UTF-8'))))))))));
$snippet = preg_split("/". $query_string ."/i", $replace);
...
$output .= '<dfn style="display:block; margin-bottom: 10px;">... '. $highlight_1 . $query_string . $highlight_2 .' ...</dfn></li>';
К сожалению и жабаскрипт не лучше порой, но это на мой взгляд не должно пораждать и как ни странно не пораждает бакланов типа профессионалов как на PHP утверждающих, что header set после принт - это не по стандарту. Они по факту не осознают и не хотят замечать багов(как вообще эти ебланы так программируют
? - с одного из популярных ресурсов миф, куда зашел с вопросом почему cookie не устанавливается).
p.s.: если кто знает как решить красивее, подскажите.