1

PHP: 我想trim()使用 php 将字符串开头的空格去掉,但默认设置trim()不处理空格字符。空白是 7 个空格长。有没有办法使用trim()或其他功能删除 7 个空格?

修剪所有内容直到遇到“正常”字符(引用如我不知道如何称呼正常字符)的函数将起作用。

4

5 回答 5

1

要摆脱各种邪恶的空格(不仅仅是 ASCII 变体),您可以使用preg_replace

$str = preg_replace('/^\pZ+/u', '', $str);

如果这不起作用,那么您必须先查看实际字符。使用bin2hex()或您选择的十六进制编辑器来检查您的字符串中实际拥有的内容。

于 2011-08-25T15:57:28.900 回答
1

使用ltrim()方法。

http://www.php.net/manual/en/function.ltrim.php

于 2011-08-25T15:45:42.953 回答
1

php 函数 trim() 会按照其规范删除字符串开头和结尾的所有空白字符,其中空白包括空格、制表符、换行符和零字节。我猜你一定是用错了?一些代码将definitley帮助解决您的问题。

于 2011-08-25T15:47:27.417 回答
0

trim() 默认处理以下空白字符:

  • " " (ASCII 32 (0x20)),一个普通的空格。
  • "\t" (ASCII 9 (0x09)),一个制表符。
  • "\n" (ASCII 10 (0x0A)),换行(换行)。
  • "\r" (ASCII 13 (0x0D)),回车。
  • “\0”(ASCII 0 (0x00)),NUL 字节。
  • "\x0B" (ASCII 11 (0x0B)),一个垂直制表符。

这意味着您的空白不是其中之一。如果你能弄清楚它是什么类型的空白,你可以将它作为参数提供给 trim()

于 2011-08-25T15:47:19.740 回答
0

这应该是您所需要的:

function remWhite($str) {
    $value = preg_replace('/\s+/', '',$str);
    return $value;
}
于 2011-08-25T15:48:02.033 回答