如何输出不作为纯文本

时间:2013-08-11 09:16:40

标签: php javascript joomla joomla1.5 joomla-extensions

我已经使用名称AllVideos Plugin安装了 joomla插件。我所要做的就是在我的网站上放置一些像{youtube}h2TLC0zGwKE{/youtube}这样的标签,我的视频出现了!

在这一点上,我需要你的帮助...在我的 php 代码中,我添加了一个隐藏文本框,其中包含视频源和 div 当我使用 javascript 点击图片时会显示视频。

PHP 代码的一部分

<input id="video_url" name="video_url" type="hidden" value="" />
<div id="video"></div>

JAVASCRIPT 代码的一部分

var Open      = String.fromCharCode(123,121,111,117,116,117,98,101,125); // {youtube}
var Close     = String.fromCharCode(123,47,121,111,117,116,117,98,101,125); // {/youtube}
var video     = document.getElementById("video");
var video_url = document.getElementById("video_url");
...
video.innerHTML =  Open+video_url.value+Close;

问题是youtube标签看起来像纯文本!看看这张图片: Screenshot of image

知道我将如何运作吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

PHP在JavaScript之前运行,这就是客户端 - 服务器模型的工作方式。您必须在JavaScript中重新创建相同的功能,这非常简单。这是一个例子:

function youtubeVideo(str){
  return str.replace(
    /\{youtube\}(\w+)\{\/youtube\}/g,
    '<iframe width="420" height="315"\
    src="//www.youtube.com/embed/$1"\
    frameborder="0" allowfullscreen></iframe>'
  );
}

youtubeVideo('{youtube}HzeZhCt5PVA{/youtube}');

这应该会帮助你。

演示: http://jsfiddle.net/TpRw3/