$input = array("3.45Lt", "1.00€");
function kazkas($match){
if($match[3]==="LTL"){
$match[3] = "EUR";
}
elseif($match[3]==="Lt" | $match[3]==="LT" | $match[3]==="lT" |$match[3] === "lt"){
$match[3] = "€";
}else{
$match[3]=$match[3];
}
$changeratio = 3.4488;
return number_format($matchn[1]/$changeratio,2).$match[2].$match[3];
//3.4492
}
$result = preg_replace_callback('/(\d+[,.]?\d?)(\s?)(L+T+L?)/iD','kazkas',$input);
var_dump($result);
我想查找LT或LTL的所有數字並轉換爲歐元也會更改貨幣標誌。 ?Preg_replace_callback正則表達式不能正常工作
爲什麼preg_replace_callback犯規取3.45 [R 它以3比45的var_dump顯示此:
array (size=2) 0 => string '3.13.05€' (length=10) 1 => string '1.00€' (length=7)我tryed測試用的preg_replace正則表達式使其返回罰款3.45。 preg_replace_callback有什麼問題。我的正則表達式不好嗎?
是原始代碼中的'$ matchn [1]'輸入錯誤還是僅僅是複製錯誤? – Barmar
您的正則表達式只允許小數點後的一位數字,但您的示例有兩位數字。 – Barmar
你是對的:D,謝謝.... –