PHP-使用正则表达式根据值更改数组键
我刚刚开始学习正则表达式,我认为这可以通过使用正则表达式来实现,但无法找到合适的正则表达式匹配项。情况是这样的:我想用相应的值填充数组中的键,但要将所有内容都设置为小写和下划线 PHP数组示例:PHP-使用正则表达式根据值更改数组键,php,regex,preg-replace,Php,Regex,Preg Replace,我刚刚开始学习正则表达式,我认为这可以通过使用正则表达式来实现,但无法找到合适的正则表达式匹配项。情况是这样的:我想用相应的值填充数组中的键,但要将所有内容都设置为小写和下划线 PHP数组示例: array('' => 'Red Apple', '' => 'Blue Sky', '' => 'Circle/Earth'); 输出应为: array('red_apple' => 'Red Apple', 'blue_sky' =>
array('' => 'Red Apple',
'' => 'Blue Sky',
'' => 'Circle/Earth');
输出应为:
array('red_apple' => 'Red Apple',
'blue_sky' => 'Blue Sky',
'circle_earth' => 'Circle/Earth');
我能够使用strtolower(),但仍然无法使用preg_replace()。我能用正则表达式做这个吗
谢谢。正如斯莱尔所说,无需更换preg\u即可完成 这里是一个片段
$new_key=strtolower(str_replace(数组('''/')、'''.'和$value))代码>
检查
快速介绍
str_replace(查找、替换、值)
find可以是一个包含常见的不需要的字符的数组,例如数组(“-”、“/”、“…等) :
参考:
您可以使用并实现以下目标:
$key = strtolower(preg_replace(array('/[^a-z]+/i', '/\s/'), "_", $string));
如果不使用正则表达式也可以做到这一点,请参考php手册中的字符串函数
$key = strtolower(preg_replace(array('/[^a-z]+/i', '/\s/'), "_", $string));