非常抱歉,我之前的回答中使用了 HTML 实体 `&nbsp;`,但是它在普通文本中无法正确显示。下面是一个没有使用 `&nbsp;` 的示例代码: ```javascript function removeTagsAndSpaces(str) { // 去除 HTML 标签和空格 str = str.replace(/<[^>]+>/g, '').replace(/\s+/g, ' '); return str.trim(); } // 示例用法 const htmlString = '<p>Hello world!</p>'; const plainText = removeTagsAndSpaces(htmlString); console.log(plainText); // 输出 "Hello world!" ``` 这个函数使用了两个正则表达式来去除 HTML 标签和空格。第一个正则表达式 `<[^>]+>` 匹配任意 HTML 标签,第二个正则表达式 `\s+` 匹配一个或多个空格字符。`g` 标志表示全局匹配。最后使用 `trim()` 方法去除字符串两端的空格。