我正在努力在我的网页上设置一个条件,以便可能发生 2 件事中的 1 件;
1) 用户自己发布了一个 youtube 链接,没有其他文字,并且该链接变成了页面上的嵌入视频。
2) 任何其他类型的帖子都作为常规消息发布,跳过上述条件中的所有内容。
我设置了一些语法,可以很好地发布嵌入视频(第一个条件),发布文本并创建可点击的超链接(第二个条件),但如果有人尝试发布 youtube 链接以及任何其他文本,则会失败。它失败是因为控制条件 1 的代码不够具体。两个条件都是这样处理的;
if(strpos($message,"youtube.com/watch?v="))
{
$message = '<iframe width="420" height="315" src="' . str_replace('/watch?v=','/embed/',$message) . '"></iframe>';
mysqli_query($db_conn,"insert into feed_messages (userid, subject, message) values ('$useridvalue', '$subject', '$message');")
or die("".mysql_error());
$messageid = mysqli_query($db_conn,"select last_insert_id();") or die("".mysql_error());
$messageidvaluearray = mysqli_fetch_assoc($messageid);
$messageidvalue = implode(" " , $messageidvaluearray);
mysqli_query($db_conn,"insert into feed_recipients (messageid, userid) values ('$messageidvalue', '$useridvalue');")
or die("".mysql_error());
foreach($_SESSION['recipientlist'] as $recipient)
mysqli_query($db_conn,"insert into feed_recipients (messageid, userid) values ('$messageidvalue', '$recipient');");
header('Refresh: 0; URL=mypage.php');
}
else
{
function make_links_clickable($message)
{
return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()0-9@:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank" STYLE="TEXT-DECORATION: NONE"><b>$1</b></a>',
$message);
}
$message = make_links_clickable($message);
我的问题是;我怎样才能使第一个 if 语句更加严格,以便如果它只看到字符串“youtube.com/watch?v=”,那么它会执行它的代码块,否则如果它看到它附带的任何其他内容,那么它可以是由 else 语句处理?
任何帮助表示赞赏。谢谢你。