mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Use html.Parse rather than html.ParseFragment (#16223)
* Use html.Parse rather than html.ParseFragment There have been a few issues with html.ParseFragment - just use html.Parse instead. * Skip document node Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -304,27 +304,26 @@ func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output | |||||||
| 	_, _ = res.WriteString("</body></html>") | 	_, _ = res.WriteString("</body></html>") | ||||||
|  |  | ||||||
| 	// parse the HTML | 	// parse the HTML | ||||||
| 	nodes, err := html.ParseFragment(res, nil) | 	node, err := html.Parse(res) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return &postProcessError{"invalid HTML", err} | 		return &postProcessError{"invalid HTML", err} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	for _, node := range nodes { | 	if node.Type == html.DocumentNode { | ||||||
| 		visitNode(ctx, procs, node, true) | 		node = node.FirstChild | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	newNodes := make([]*html.Node, 0, len(nodes)) | 	visitNode(ctx, procs, node, true) | ||||||
|  |  | ||||||
| 	for _, node := range nodes { | 	newNodes := make([]*html.Node, 0, 5) | ||||||
| 		if node.Data == "html" { |  | ||||||
| 			node = node.FirstChild | 	if node.Data == "html" { | ||||||
| 			for node != nil && node.Data != "body" { | 		node = node.FirstChild | ||||||
| 				node = node.NextSibling | 		for node != nil && node.Data != "body" { | ||||||
| 			} | 			node = node.NextSibling | ||||||
| 		} |  | ||||||
| 		if node == nil { |  | ||||||
| 			continue |  | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  | 	if node != nil { | ||||||
| 		if node.Data == "body" { | 		if node.Data == "body" { | ||||||
| 			child := node.FirstChild | 			child := node.FirstChild | ||||||
| 			for child != nil { | 			for child != nil { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 zeripath
					zeripath