我对正则表达式很糟糕.我试图取代这个:
public static function camelize($word) {
return preg_replace('/(^|_)([a-z])/e', 'strtoupper("\\2")', $word);
}
Run Code Online (Sandbox Code Playgroud)
使用带有匿名函数的preg_replace_callback.我不明白\\ 2是做什么的.或者就此而言preg_replace_callback的工作原理.
实现这一目标的正确代码是什么?
一直在这里搜索和谷歌超过一个小时,似乎无法找到答案.
我有一个从包含变量的数据库查询返回的字符串,但是看起来这些字符串都是单引号返回的,因此变量不会被评估,如果它是双引号的话.
从sql查询返回的是$ result:
这不会评估2个变量:
$myname = 'david';
$occupation = 'Beginner';
$result = 'Hello my name is $myname and I my occupation is $occupation';
echo $result;
Run Code Online (Sandbox Code Playgroud)
这将评估2个变量:
$myname = 'david';
$occupation = 'Beginner';
$result = "Hello my name is $myname and I my occupation is $occupation";
echo $result;
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将单引号字符串转换为双引号字符串,它能够评估变量?
谢谢
我有一个来自语言文件的字符串,其中包含当前语言的文本字符串.
$str = 'blabla\n\nmore blabla';
Run Code Online (Sandbox Code Playgroud)
$ str将在textarea中使用,其中\n必须是换行符如果我将它放在双引号内,则可行.
问题是$ str将始终使用单引号.我一直在谷歌搜索并搜索这个网站.有许多类似的问题,但我没有设法找到解决方案.
如何将单引号字符串(使用文字"\n")转换为双引号字符串(其中"\n"转换为换行符)?