我有一个文本文件,其中包含youtube网址代码,例如:BzRBCM89GvI
我希望将其放置在iFrame中,并将文件的标题用作视频上方的标题。我几乎拥有它,但由于某种原因,该链接似乎无法正常工作。如果我检查元素,URL看起来不错,但是当我将其粘贴到文本编辑器中时,得到以下信息:https://www.youtube.com/embed/%EF%BB%BFBzRBCM89GvI
额外的:“%EF%BB%BF”让我觉得很混乱。
这是PHP代码:
<?PHP
$projects = glob('images/Projects/Video/*');
foreach ($projects as &$project) {
$src = "https://www.youtube.com/embed/" . file_get_contents($project);
echo'<h3>' . str_replace(".txt","",str_replace("images/Projects/Video/","",$project)) . '</h3><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="min-height: 300px; width: 100%;" type="text/html" src="' . $src . '"></iframe>';
}
?>
有什么主意为什么要添加额外的位或为什么不起作用?
答案 0 :(得分:1)
这是UTF-8编码文件的Byte Order Mark (BOM)。保存不带BOM的文件。大多数文本编辑器都具有此功能。
如果您无法控制文件并需要删除BOM,请选中How to remove multiple UTF-8 BOM sequences
跳过前3个字符/字节也可以,但是这假定BOM始终存在:
substr(file_get_contents($project), 3);