Нужно заменить текст вне тегов, а сейчас заменяет везде включая эти теги. Сейчас вот такой код $pregmatch="#(.*)($searchword)(.*)(?![^<]*>)#i"; заменяет текст вне тегов и внутри атрибутов тегов (title="тут заменять не надо, а заменяет").