如何使用strpos
之类的东西检查数据@if($data->url != 'youtube' )
@endif
updated how can i put this in my balde temp
preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+|(?<=/videos/)[^&^/\n]+#", $line['YOUTUBE'], $matches);
$videoId = $matches[0];
if(substr_count($line['YOUTUBE'], "facebook.com") > 0){
print "<div class=\"fb-video\" data-href=\"{$line['YOUTUBE']}\" data-allowfullscreen=\"true\" data-width=\"600\"></div>";
}else{
print "<iframe width=\"600\" height=\"350\" frameborder=\"0\" src=\"https://www.youtube.com/embed/{$videoId}?autoplay=1\"></iframe>";
}
答案 0 :(得分:3)
您可以使用strpos()
,strstr()
(或者在适当时使用不区分大小写的变体),但您也可以使用基本上使用strpos()
PHP内置方法的Laravel's str_contains()
函数:
$contains = str_contains($line['YOUTUBE'], "facebook.com");
答案 1 :(得分:1)
您也可以在刀片中使用任何php函数...请参阅下面的示例:
@if (strpos($data->url, 'youtube') !== false) {
echo 'true';
@endif
更新:在某些情况下,将PHP代码嵌入到您的视图中非常有用。您可以使用Blade @php指令在模板中执行纯PHP块:
@php
//
@endphp
虽然Blade提供此功能,但经常使用它可能是一个信号,表明您的模板中嵌入了太多逻辑。 参考:https://laravel.com/docs/5.4/blade#php 希望它会对你有所帮助。 :)