DomainCast
1
Забираем наименование домена из строки
app/Casts/DomainCast.php
<?php namespace App\Casts; use Illuminate\Contracts\Database\Eloquent\CastsAttributes; class DomainCast implements CastsAttributes{ /** * Cast the given value. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function get($model, $key, $value, $attributes) { return $value; } /** * Prepare the given value for storage. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function set($model, $key, $value, $attributes) { if(preg_match("/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n?]+)/", stripslashes($value), $matches)){ return $matches[1]; } return $value; }}