我很困惑!基本上我有一个包含 3 个字段的表单:主题、图像、消息。 所以,
(1) 如果我上传图像,它应该是显示图像,
(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>";
}
?>
任何对我来说更好的想法或解决方案。
希比尔。
最佳答案
由于前面的 if
条件,您永远不会进入 else
语句。在所有情况下,$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>";
}
关于php 图片显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246855/