如果外部 url 包含此 url 那么

If external url contains this url then

我有这个控制器,它在 youtube、vimeo、vevo 等中存储视频的主机和 url

public function attach()
{
    $input = Input::except('_token');

    if ( ! Input::get('host') || ! Input::get('url')) {
        return Response::json(trans('video::main.fillAllRequiredFields'), 400);
    }
}


在 blade 我有这个

@foreach ($title->link as $k => $video)
    <p><a target="_blank" href="{{ $video->url }}">{{ $video->host }}</a></p>
@endforeach


所以现在会员必须同时插入 url 和主持人的标签..

我想在 Laravel 或 knockout.js 中使用函数,因此当插入 url 以提取主机并自动显示主机标签时,主机标签不会存储在数据库中。像这样

@foreach ($title->link as $k => $video)
    @if {{$video->url}} contain "youtube.com" 
    <p><a target="_blank" href="{{ $video->url }}">YouTube</a>

    @elseif {{$video->url}} contain "vimeo.com"
    <p><a target="_blank" href="{{ $video->url }}">Vimeo</a>

    @elseif {{$video->url}} contain "vevo.com"
    <p><a target="_blank" href="{{ $video->url }}">Vimeo</a>

    @else <p><a target="_blank" href="{{ $video->url }}">Unknown</a>
    @endif
@endforeach

非常感谢任何帮助

PHP 函数 strpos() 允许您检查 url 字符串中是否包含特定主机。比如像这样

@foreach ($title->link as $k => $video)
    @if(strpos($video->url, "youtube.com")!==false) 
    <p><a target="_blank" href="{{ $video->url }}">YouTube</a>

    @if(strpos($video->url, "vimeo.com")!==false) 
    <p><a target="_blank" href="{{ $video->url }}">Vimeo</a>

    @if(strpos($video->url, "vevo.com")!==false) 
    <p><a target="_blank" href="{{ $video->url }}">Vevo</a>

    @else <p><a target="_blank" href="{{ $video->url }}">Unknown</a>
    @endif
@endforeach