tp6中字符串替換,案例:前台文章展示圖片在content中,前端展示方法:
<div class="article-content mt-5">
{$data.content|raw}
</div>
,替換圖片的url路徑
使用tp6中的動態獲取器
動態獲取器 可以支持對模型使用動態獲取器,無需在模型類中定義獲取器方法。 User::withAttr('name', function($value, $data) { return strtolower($value); })->select();
withAttr方法支持多次調用,定義多個字段的獲取器。另外注意,withAttr方法之后不能再使用模型的查詢方法,必須使用Db類的查詢方法。
如果同時還在模型里面定義了相同字段的獲取器,則動態獲取器優先,也就是可以臨時覆蓋定義某個字段的獲取器。
/* * 資訊詳情 */ public function read(int $id) { NewsModel::where('id', $id)->inc('read_num')->update(); $data = NewsModel::withAttr('content', function($value, $data) { return str_replace('src="','src="'.$this->domain,$value); })->find($id); return view('read', ['data' => $data]); }
