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

从PHP字符串中删除控制字符

苗森
2023-03-14
问题内容

如何从PHP字符串中删除STX等控制字符?我玩过

preg_replace("/[^a-zA-Z0-9 .\-_;!:?äÄöÖüÜß<>='\"]/","",$pString)

但发现它消除了很多麻烦。有没有办法 删除 控制字符?


问题答案:

如果用控制字符表示前32个ASCII字符和\x7F(包括回车等),那么它将起作用:

preg_replace('/[\x00-\x1F\x7F]/', '', $input);

(请注意单引号:双引号的使用\x00会以某种方式导致解析错误。)

可以这样删除换行和回车符(通常写为\r\n),以免删除:

preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);

更好[:cntrl:]地传达了代码的作用[\x00-\x1F\x7F]

警告: ereg_replace PHP> = 5.3.0中已弃用,而PHP> =
7.0.0中已将其删除!,请使用preg_replace代替ereg_replace

preg_replace('/[[:cntrl:]]/', '', $input);


 类似资料:
  • 问题内容: 我目前有以下代码 如果要删除多个字符,这是行不通的。 问题答案: Unicode中有 数百个 控制字符。如果您要清理来自Web或其他可能包含非ASCII字符的其他来源的数据,则需要Python的unicodedata模块。该函数返回任何字符的unicode类别代码(例如,控制字符,空格,字母等)。对于控制字符,类别始终以“ C”开头。 此代码段从字符串中删除所有控制字符。 unicod

  • 问题内容: 我有一个来自UI的字符串,其中可能包含控制字符,并且我想删除除 回车符 , 换行符 和 制表 符之外的所有控制字符。 现在,我可以找到两种删除所有控制字符的方法: 1-使用番石榴: 2-使用正则表达式: 问题答案: 如果要删除其他字符或控制uni-code类别中的所有字符,可以执行以下操作 注意: 实际上,这实际上从字符串中除去了(\ u008f)Unicode字符,而不是转义的形式“

  • 问题内容: 我在删除特殊字符时遇到问题。我想删除除“()/。%-&”以外的所有特殊字符,因为我将该字符串设置为标题。 我编辑了原始代码(如下所示): 但这无法删除特殊字符,例如:“,”,“”。 原始代码:(此方法有效,但会删除以下字符:“()/。%-&”) 问题答案: 您的句点匹配所有字符。转义它(和其他特殊字符),如下所示:

  • 问题内容: 我正在使用自动化,并使用Jsch连接到远程设备并自动执行一些任务。 我在解析命令结果时遇到问题,因为有时它们带有ANSI Control chars 。 目前,我正在尝试此操作,但我不确定它是否足够完整。 如何从Java字符串中删除ANSI控制字符(VT100)? 问题答案: 大多数ANSI VT100序列的格式为 (可选)后跟一个数字或由分隔的两个数字,后接一些不是数字或。的字符。所

  • 问题内容: 嘿,我需要删除字符串中的所有图像,但我找不到正确的方法。 这是我尝试过的方法,但是不起作用: 有任何想法吗? 问题答案: 尝试将放到的前面。 编辑:我刚刚测试了您的正则表达式,它工作正常。这是我使用的: 结果是:

  • 问题内容: 在PHP中,我有一个包含所有字符串的变量数组。存储的某些值是带逗号的数字字符串。 我需要的: 一种从字符串中修剪逗号的方法,并且仅对数字字符串执行此操作。这并不像看起来那样简单。主要原因是以下操作失败: 失败是因为是数字。但不是数字。因为我得到的某些字符串将是带逗号的常规句子,所以我无法对每个字符串都执行字符串替换。 问题答案: 未经测试,但可能类似