代码之家  ›  专栏  ›  技术社区  ›  Johan

如何从字符串中获取a-z和0-9?

  •  0
  • Johan  · 技术社区  · 16 年前

    如何从“l_¶rum ips_m 1”中获取“l rum ips m 1”!?

    所以我需要的是使用PHP从字符串中只获取a-z和0-9。

    2 回复  |  直到 16 年前
        1
  •  7
  •   VolkerK    16 年前

    例如,使用正则表达式( pcre )并将不属于“可接受”字符类的所有字符替换为“”。

    $in = "Lörum ipsäm 1!";
    $result = preg_replace('/[^a-z0-9]+/i', '', $in);
    echo $result;
    

    另请参见: http://docs.php.net/preg_replace

    编辑:
    [a-z0-9] 是所有字符的类A…Z和0…9
    [^...] 否定一门课,即 [^a-z0-9] 包含以下所有字符: 在…Z0…9内
    +是表示“1次或多次”的量词, [^a-z0-9]+ 匹配一个或多个不在…z0..9中的(连续)字符。
    选择权 i 使模式不区分大小写,即[a-z]也与…z匹配

        2
  •  0
  •   ghostdog74    16 年前

    你也可以这样做

    $in = "Lörum ipsäm 1!";
    $result = preg_replace('/[^[:alnum:]]/i', '', $in);
    echo $result;
    
    推荐文章