在PHP中,使冒号左边的每个字母都小写,不使用explode、infrade
这可以用正则表达式实现吗 例子 x示例标题:测试 变成 x示例标题:测试 y示例:testonetwother 变成 y示例:TestOne有三个您可以看看使用: 除非在特定情况下(例如,可以将“A”替换为“A”),否则不能使用正则表达式进行大小写转换 编辑:好的,你每天都会学到新东西。您可以这样做:在PHP中,使冒号左边的每个字母都小写,不使用explode、infrade,php,regex,preg-replace,Php,Regex,Preg Replace,这可以用正则表达式实现吗 例子 x示例标题:测试 变成 x示例标题:测试 y示例:testonetwother 变成 y示例:TestOne有三个您可以看看使用: 除非在特定情况下(例如,可以将“A”替换为“A”),否则不能使用正则表达式进行大小写转换 编辑:好的,你每天都会学到新东西。您可以这样做: $output = preg_replace('![a-zA-Z]+:!e', "strtoupper('\\1')", $input); 发件人: e(预更换评估) 如果设置了此修改器, 正常
$output = preg_replace('![a-zA-Z]+:!e', "strtoupper('\\1')", $input);
发件人:
e(预更换评估)
如果设置了此修改器,
正常吗
中反向引用的替换
替换字符串,将其计算为
PHP代码,并将结果用于
替换搜索字符串。单身
引号、双引号、反斜杠()
空字符将通过
替换中的反斜杠
反向引用
只使用这个
修饰语;它被其他PCRE忽略
功能
然而,我会避开求值字符串,尤其是当与用户输入相结合时,这可能是一种非常危险的做法。我更喜欢使用preg\u replace\u callback()
方法作为一般规则。您可以在给定时在正则表达式模式上使用(查看该页上的示例4),以便调用PHP代码作为替换的一部分:
$string = "x-example-HEADER:teSt";
$new_string = preg_replace('/(^.+)(?=:)/e', "strtolower('\\1')", $string);
// => x-example-header:teSt
该模式将第一个冒号之前的所有内容捕获到第一个反向引用中,然后用strtolower
函数替换它
$str = 'y-exaMPLE:testoneTWOthree';
function lower( $str ) {
return strtolower( $str[1] );
}
echo preg_replace_callback( '~^([^:]+)~', 'lower', $str );
$str = 'y-exaMPLE:testoneTWOthree';
function lower( $str ) {
return strtolower( $str[1] );
}
echo preg_replace_callback( '~^([^:]+)~', 'lower', $str );