我有串在PHP中的變量,如:PHP如何在某些位置添加多個字符串到另一個字符串
$datetime="20160105 1134";
我想調用一些簡單的功能在某些位置添加特定字符串。爲了得到
$datetime="2016-01-05 11:34";
我知道我可以用SUBSTR()和這樣做,但沒有任何簡單的解決方案,它只會告訴PHP把「 - 」在4和6位,並把「:」在位置11?我爲此寫了自己的函數,但是我問這是否可能更容易,例如。使用正則表達式左右。
// my function
function put($what,$pos,$txt)
{
if (!is_array($pos)) $pos=[$pos]; rsort($pos);
foreach($pos as $p) $txt=substr($txt,0,$p).$what.substr($txt,$p);
return $txt;
}
$datetime=put("-",[4,6],put(":",11,$datetime));
// result: 2016-01-05 11:34
這是非常優雅!但只適用於我的特定情況(日期)。我希望看到任何字符串的更一般的解決方案 –