结合preg _replace和strtolower

时间:2015-10-22 17:32:41

标签: php

我尝试将mysql_query()strtolower结合起来,但我不确定如何嵌套它。我试过这样:

preg_replace

我找到this solution但无法让它发挥作用。我想要一个没有特殊字符的小写字符串:

  

我是一些特殊内容

变成

  

iamsomespecialcontent

如何实现这一点并将其存储在$res = strtolower(preg_replace("/[^a-zA-Z]/", "", $string)); 内?

2 个答案:

答案 0 :(得分:1)

我可以说第一步将字符串作为小写

$rest = strtolower($string);

然后删除空格

$rest = preg_replace("/\s+/", "", $rest);

您可以将其合并为 -

$rest = preg_replace("/\s+/", "", strtolower($rest));

有关更多与角色相关的特殊解决方案,您可以尝试this

答案 1 :(得分:1)

最好将它拆分为双线程并使用var_dump()调试命令的输出,以查看最新情况:

<?php

/* string with special chars */
$string = 'abczABCZ-#+´!"§123';

$no_special_chars = preg_replace("/[^a-zA-Z]/", "", $string); 

var_dump($no_special_chars);    // string 'abczABCZ' (length=8)   

$lowercased = strtolower($no_special_chars);

var_dump($lowercased);          // string 'abczabcz' (length=8)

也许您注意到,如果先将字符串小写,则不必在preg_replace()中处理A-Z

$res = preg_replace("/[^a-z]/", "", strtolower($string));

var_dump($res); // string 'abczabcz' (length=8)