a.column
我想替换字符串,例如column
.
我试过:
str_replace("/([a-z]\.)*(.+)/i", '$2', 'a.column')
但它不会起作用。
这也可以在没有正则表达式的情况下完成:
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_replace()
不允许正则表达式。您将其与以下内容混淆preg_replace()
:
echo preg_replace("/([a-z]\.)*(.+)/i", '$2', 'a.column');
如果这就是所有字符串:
$str = substr($str,strrpos($str,'.'));
否则(在较大的字符串中适用于“db.a.column”和“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);