当前位置: 首页 > 面试题库 >

我有一个带有“ \ u00a0”的字符串,我需要将其替换为“” str_replace failed

燕朝明
2023-03-14
问题内容

我需要清理来自各种Microsoft Office套件应用程序(Excel,Access和Word)的字符串(复制/粘贴),每个应用程序都有自己的一组编码。

我将json_encode用于调试目的,以便能够看到每个编码的字符。

我可以使用str_replace清除到目前为止找到的所有内容(\ r \ n),但是使用\ u00a0则没有运气。

$string = 'mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com'; //this is the output from json_encode

$clean = str_replace("\u00a0", "",$string);

返回:

mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com

那是完全一样的。它完全忽略\ u00a0。

有没有解决的办法?另外,我感觉到我正在重新发明轮子,是否有一个函数/类完全剥离了每种可能编码的所有可能字符?

_编辑_

在前两次回复之后,我需要澄清一下我的示例确实可行,因为它是json_encode的输出,而不是实际的字符串!


问题答案:

通过ord()substr()包含\ u00a0的字符串结合使用,我发现以下诅咒起作用了:

$text = str_replace( chr( 194 ) . chr( 160 ), ' ', $text );


 类似资料:
  • 问题内容: 我有一个包含很大一部分html的字符串,并且正在尝试从字符串的href =“ …”部分提取链接。href可以采用以下形式之一: 我真的没有正则表达式的问题,但是由于某些原因,当我使用以下代码时: 有人可以告诉我我的代码有什么问题吗?我在php中做过这些事情,但是在Java中我却以某种方式做错了什么。正在发生的事情是,每当我尝试打印它时,它都会打印整个html字符串… 编辑:以便每个人都

  • 问题内容: 在Linux(内核2.6.5)上,我们的构建系统使用调用gcc 。 使用时仍然需要吗? 它与期权有什么关系?我知道我应该与pthreads一起使用,还需要吗? 附带说明一下,您在gcc 3.3.3和gcc 4.xx之间使用REENTRANT有什么区别吗? 当我使用gcc选项时,可以看到已定义。从命令行省略是否会有所不同,例如某些对象可以在没有多线程支持的情况下进行编译,然后链接到使用p

  • 这个问题不难,我已经用自己的方法解决了,但我想听听你的意见,也许有什么方法可以让这成为一个改进的选择?Java 8-11。

  • 问题内容: 我的朋友正在尝试将某种计算作为上课的一项任务,但他遇到了一些麻烦…希望您能为他提供帮助。 问题在于他从用户那里得到了一个int的输入(这必须是任务的一部分)。他正在尝试在下面的代码中将其转换为double,但这是行不通的。无论如何结果都是int。 如果您需要更多说明,我会请他提供。提前致谢! 问题答案: 您必须将一个(或两个)参数传递给除法运算符: 由于您两次执行相同的计算,因此建议您

  • 问题内容: 我正在尝试将String解析为Timestamp,因为我需要将此数据保存在bbdd mysql上。 当我运行我的应用程序时,我收到以下捕获消息: 将解析器字符串错误解析为时间戳以保存bbdd。无法解析的日期:“ 2018-10-17T22:37:10.000 + 0000” 有谁能够帮我? 问题答案: 改变你的面具 所以你有了 顺便说一句 ,你不应该需要的 *对我的懈怠表示 *歉意 ,

  • 问题内容: 我想从字符串中删除方括号,但我不知道如何。 但是我的结果是:[克里斯曼| 1]方括号不会被删除。 我尝试使用其他正则表达式:, 但结果相同,方括号仍附加在字符串上。 编辑: 我试过了: 现在我得到: 问题答案: replaceAll方法正在尝试匹配尝试单独替换这些项目时不存在的String文字。