Я пытаюсь токенизировать HTML метаданные, включая некоторые операции. У меня есть токенизатор tokenizer := html.NewTokenizer(htmlStream)
для итерации по тегам.
Но для тега opg og:img
может быть несколько изображений, и свойства, непосредственно следующие за предыдущим тегом og:img
, являются свойствами этого один. Так, например, из opg
<meta property="og:image:width" content="300" />
<meta property="og:image:height" content="300" />
<meta property="og:image" content="http://example.com/rock2.jpg" />
<meta property="og:image" content="http://example.com/rock3.jpg" />
<meta property="og:image:height" content="1000" />
мне нужно сначала узнать следующее свойство, чтобы решить, запускать ли новый или добавить к существующему объекту изображения. Кажется, что нет никакой функции, подобной peek
, мне приходилось сталкиваться с такими вещами, как два итератора в массиве, но Go сообщает об ошибках и пустых тегах, когда я запускал и использовал новый токенизатор imageTokenizer := html.NewTokenizer(htmlStream)
, Есть ли способ, которым я могу это сделать. TBH Я зашел слишком далеко в этом подходе без предварительного тестирования токенизатора. Но я также готов выслушать другие подходы по этому вопросу.