我想将a.column
之类的字符串替换为column
。
我尝试过:
str_replace("/([a-z].)*(.+)/i", '$2', 'a.column')
但这行不通。
str_replace()
不允许使用正则表达式。你把它和preg_replace()
:混淆了
echo preg_replace("/([a-z].)*(.+)/i", '$2', 'a.column');
这也可以在没有regex:的情况下完成
function split($table)
{
$array = explode(".", $table);
$return = "";
if (count($array) > 1)
{
for ($i=1; $i<count($array); $i++)
{
$return .= $array[$i].".";
}
$return = substr_replace($return, "", -1);
} else
{
$return = $array[1];
}
return $return;
}
如果仅此而已,则字符串为:
$str = substr($str,strrpos($str,'.'));
else(适用于较大字符串中的"db.a.column"one_answers"a.column"):
$str = preg_replace('#(?:[^. ]+.)+([^. ]+)#','$1',$str);
试试这个:
echo preg_replace("#([^.].)?([^.]+)#", '$2', 'a.column');
$str = 'a.column dfsdfsdfsdf';
echo preg_replace("/[a-z].(.+)/i", '$1', $str);