我工作的一種方式將變量傳遞到一個通知,而實現這一點的表情,我目前經歷的消息一旦與下面的方法:定期進行替代
private static function set($var, $content, &$message) {
$message = str_replace("{{" . $var . "}}", $content, $message);
}
這正確匹配;如果我在消息中包含「{{name}}」,並且運行以下方法,那麼所有「{{name}}」實例都將正確替換爲「Johnny Test」。燦爛。
self::set('name', 'Johnny Test', $message);
我現在希望擴大這個允許沒有傳遞到通知模板場的可能性。也就是說,如果我需要「姓名」和「電子郵件」來接收特定通知,但只傳入了「姓名」,我需要傳入一個默認值('無電子郵件地址')(而不是通知顯示「 {電子郵件}}')。
爲此,我已經炮製使用this tool如下:
$returnValue = preg_replace(
'/\\{\\{.*?\\:\\s*?[\'"](.*?)[\'"]\\s*?\\}\\}/',
'$1',
'{{color : "No color selected"}}'
);
然而,這並不正確地匹配。而不是$returnValue
包含「未選擇顏色」,而是包含全選「{{color:」未選擇顏色「}}」。
我錯過了什麼?
哈哈,沒錯!事實證明,我正在使用的工具是添加額外的反斜槓(我最終使用writecodeonline寫出來,並且整個事情都奏效了)。謝謝你發現! –