【问题标题】:PHP Replace and LowercasePHP替换和小写
【发布时间】:2023-03-10 04:34:01
【问题描述】:

我正在尝试进行 PHP 替换,例如 ASP 替换。该函数只是返回一个空白值吗?

    $zonename=mysql_real_escape_string($_POST["zonename"]);
    $zname_clean =""; # blank string
    $zname_clean = $zonename; # fill string with the post form
    $zname_clean = str_replace($zname_clean, " ", ""); # remove white space

这是我的代码。示例 Zonename 将是“Header Left”,我想删除大写字母并删除空格。

如何删除空格并转换大小写,还有更简洁的方法吗?

【问题讨论】:

标签: php replace


【解决方案1】:
// strip out all whitespace
$zname_clean = preg_replace('/\s*/', '', $zname_clean);
// convert the string to all lowercase
$zname_clean = strtolower($zname_clean);

查看strtolower()preg_replace() 的PHP 手册。

【讨论】:

  • 这里的正则表达式是错误的。应该是 /\s?/ -- 星号表示“匹配零次或多次”,需要的是问号匹配“一次或多次”。
  • 不,正则表达式没问题。我想根据问题删除所有空格,而不仅仅是第一次聊天留下更多的空格值。
【解决方案2】:

试试这个。

$zonename=mysql_real_escape_string($_POST["zonename"]);
$zname_clean = strtolower(str_replace(" ", "",$zonename));

【讨论】:

    【解决方案3】:

    您的参数顺序错误。看看这个:http://php.net/manual/en/function.str-replace.php

    应该是str_replace(" ", "", $zname_clean);

    另一种方法是strtolower(trim($zname_clean));

    【讨论】:

    • 不确定你的“另一种方式” - trim 不会从字符串中间删除空格
    • 您的代码不会删除所有空格。线路返回等呢?
    • 空白(没有意义的空格)还是全部空格?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2011-06-26
    • 2013-10-15
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    相关资源
    最近更新 更多