local.error preg_replace() unknown modifier�{exception[object](ErrorException(code 0) preg_replace() unknown modifier�
1. Error:[2024-09-28 02:59:09]local.error: preg_replace(): unknown modifier�{“exception”:”[object](ErrorException(code: 0): preg_replace(): unknown modifier�at)
[stacktrace]. as shown in Figure 1
foreach ($otherPatterns as $otherPattern) {
if ($originalDescription == $description) {
Log::info(
'$description2 0 订单客户信息',
[
'$description' => $description,
'$startPattern' => $startPattern,
'$pattern' => $pattern,
'$otherPattern' => $otherPattern,
$this->action_id
]
);
$description = preg_replace('/(' . preg_quote($startPattern) . ')[\s\S]*' . preg_quote($pattern) . '[\s\S]*(,' . preg_quote($otherPattern) . ')/', '$1***' . $pattern . '***,' . $otherPattern, $description);
}
}
3. View the printed log information
[2024-09-28 03:18:50] local.INFO: [module/order]:$description2 0 订单客户信息 {"$description":"邮寄地址由邮寄地址200变更为邮寄地址2005","$startPattern":"客户姓名由","$pattern":"变更为","$otherPattern":"联系邮箱由","0":2}
[2024-09-28 03:18:50] local.INFO: [module/order]:$description2 0 订单客户信息 {"$description":"邮寄地址由邮寄地址200变更为邮寄地址2005","$startPattern":"客户姓名由","$pattern":"变更为","$otherPattern":"联系电话由","0":2}
[2024-09-28 03:18:50] local.INFO: [module/order]:$description2 0 订单客户信息 {"$description":"邮寄地址由邮寄地址200变更为邮寄地址2005","$startPattern":"客户姓名由","$pattern":"变更为","$otherPattern":"所属国家由","0":2}
[2024-09-28 03:18:50] local.INFO: [module/order]:$description2 0 订单客户信息 {"$description":"邮寄地址由邮寄地址200变更为邮寄地址2005","$startPattern":"客户姓名由","$pattern":"变更为","$otherPattern":"省/州由","0":2}
[2024-09-28 03:18:50] local.ERROR: preg_replace(): Unknown modifier '�' {"exception":"[object] (ErrorException(code: 0): preg_replace(): Unknown modifier '�' at E:\\object\\Modules\\Order\\Transformers\\OrderLogResource.php:910)
[stacktrace]
4. The cause is initially derived, the value of the variable $otherpattern is “province/state caused by “/” caused by “/”. Reference:Regular expression special characters are: . \ + * ?[ ^ ]$ ( ) { } = ! < > | : – # . Note / is not a regular expression special character. The code is adjusted as follows
foreach ($otherPatterns as $otherPattern) {
if ($originalDescription == $description) {
$description = preg_replace('/(' . preg_quote($startPattern, '/') . ')[\s\S]*' . $pattern . '[\s\S]*(,' . preg_quote($otherPattern, '/') . ')/', '$1***' . $pattern . '***,' . $otherPattern, $description);
}
}
5. No more errors are reported, and the replaced format is: the mailing address has been changed from *** to ***. in line with expectations. as shown in Figure 2
![报错:[2024-09-28 02:59:09] local.ERROR: preg_replace(): Unknown modifier '�' {"exception":"[object] (ErrorException(code: 0): preg_replace(): Unknown modifier '�' at )](https://www.shuijingwanwq.com/wp-content/uploads/2024/09/1-3.png)
