### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Pop!_OS 22.04 LTS - Vulkan (Compatibility) - NVIDIA GeForce MX350 (nvidia; 525.116.04) - 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 Threads)

### Issue description

When I use the color picker to change a color, I can paste an HTML color code or write it myself. I can also prefix my text with a `#`  &mdash; the color picker will accept it as a valid color and update the corresponding element with that color. This is especially useful when I copy an HTML color code from a color palette like the one on lospec.com, since they always have a hash in front of them.

However, I cannot paste HTML color codes with surrounding spaces into this text box, even though the color code (without the spaces) is valid.

I would definitely call this behaviour a bug, since other programs like Affinity Designer, Blender or Gimp are very permissive about the input of HTML color codes. Or according to Jon Postel, *Be conservative in what you send, be liberal in what you accept.*

### Steps to reproduce

Preparation: 

1. create a new Godot project
2. create a new 2d scene
3. add a ColorRect node.
4. open the color picker for the color attribute in the inspector tab.

Explore the bug:

1. enter a valid HTML color code like `000` (black) => color is updated.
2. enter a valid HTML color code like `#fff` (white) => color is updated.
3. enter a valid HTML color code with leading space, for example `   #000` => color is not updated.
4. enter a valid HTML color code like `#000`(black) => color is updated.
5. enter a valid HTML color code with surrounding spaces, e.g. `   fff   ` => color is not updated.
6. enter a valid HTML color code like `fff`=> color is updated.

### Minimal reproduction project

N/A
return (int(get_minimum_size().width) - (preset_container->get_theme_constant(SNAME("h_separation")) * (PRESET_COLUMN_COUNT - 1))) / PRESET_COLUMN_COUNT;
}
void ColorPicker::_add_preset_button(int p_size, const Color &p_color) {
	ColorPresetButton *btn_preset_new = memnew(ColorPresetButton(p_color, p_size));
	btn_preset_new->set_tooltip_text(vformat(RTR("Color: #%s\nLMB: Apply color\nRMB: Remove preset"), p_color.to_html(p_color.a < 1)));
	SET_DRAG_FORWARDING_GCDU(btn_preset_new, ColorPicker);
	btn_preset_new->set_button_group(preset_group);
	preset_container->add_child(btn_preset_new);
	btn_preset_new->set_pressed(true);
	btn_preset_new->connect("gui_input", callable_mp(this, &ColorPicker::_preset_input).bind(p_color));
}
void ColorPicker::_add_recent_preset_button(int p_size, const Color &p_color) {
	ColorPresetButton *btn_preset_new = memnew(ColorPresetButton(p_color, p_size));
	btn_preset_new->set_tooltip_text(vformat(RTR("Color: #%s\nLMB: Apply color"), p_color.to_html(p_color.a < 1)));
	btn_preset_new->set_button_group(recent_preset_group);
	recent_preset_hbc->add_child(btn_preset_new);
	recent_preset_hbc->move_child(btn_preset_new, 0);
	btn_preset_new->set_pressed(true);
	btn_preset_new->connect("toggled", callable_mp(this, &ColorPicker::_recent_preset_pressed).bind(btn_preset_new));
}
void ColorPicker::_show_hide_preset(const bool &p_is_btn_pressed, Button *p_btn_preset, Container *p_preset_container) {
	if (p_is_btn_pressed) {
		p_preset_container->show();
	} else {
		p_preset_container->hide();
	}
	_update_drop_down_arrow(p_is_btn_pressed, p_btn_preset);
}
void ColorPicker::_update_drop_down_arrow(const bool &p_is_btn_pressed, Button *p_btn_preset) {