我很困惑!基本上我有一个3字段ex的表单:主题,图像,消息。 所以,
(1)如果我上传图片,则应该是show image,
(2)如果我没有上传图片,则应仅显示主题且不显示图片框和
(3)如果我没有上传图片,并且如果消息框中有youtube链接,那么应该显示视频。 **
以下是我的PHP代码,但我无法解决3号点! **
<?php
if(empty($imgname))
{
echo '';
}
elseif(!empty($imgname))
{
echo "<span class='vedio'>";
echo '<img src="' . $upload_path . '/' . $imgname . '" width="195" height="130"
style=" background-color:f2f4f6;" />';
echo "</span>";
}
else
{
echo "<span class='vedio'>";
require_once("func.php");
if (preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)
([^"&?/ ]{11})%i', $msg, $match))
{
// echo $video_id = $match[1];
}
echo @get_youtube_embed($video_id = $match[1]);
echo "</span>";
}
?>
对我来说更好的想法或解决方案。
Shibbir。
答案 0 :(得分:1)
由于您之前的else
条件,您永远不会进入if
声明。在所有情况下,$imgname
将为空或不为空。
进一步证明:
if (empty($imgname)) {
// ... First condition
} else if (!empty($imgname)) {
// ... Last possible condition
} else {
// Will never reach here because $imgname will
// fall into one of the two of the above conditionals.
}
如果没有完整的上下文,很难添加到您的代码中,但似乎您可能希望在上面的代码之后包含以下代码(不是):
if(!empty($msg) && preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)
([^"&?/ ]{11})%i', $msg, $match)) {
require_once("func.php");
echo "<span class='vedio'>";
echo @get_youtube_embed($match[1]);
echo "</span>";
}