首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找和替换问题

查找和替换问题
EN

Stack Overflow用户
提问于 2011-09-03 14:47:52
回答 2查看 169关注 0票数 3

我的网站,有两个数据库表。其中一个有posts_table,另一个有视频。

目前,我正在获取文本图像等,通常从post_table表中获取。在我的CMS中,当我们添加一个视频时,会添加一个简短的代码

代码语言:javascript
运行
复制
[media id=487 width=660 height=440]

这个短代码自动从vid_table获取视频的链接,其中id与短代码相同。

所以我想要的是:

  • 我需要做和短代码一样的事情,当一个视频被添加到CMS上时,短代码显示在文章中,我需要删除这个短代码,而不是它想要播放一个在vid_table上有链接的视频。

我的英语有些问题,所以如果你再不懂,请告诉我。

任何帮助都会很好。

谢谢。

编辑:所以我想用一个flash播放器替换整个媒体标签,它播放属于媒体标签中的ID的url。

砰!!能帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-03 20:18:00

这其实是一个相当复杂的问题。我很无聊,做了一个基本的标签解析器。现在它有一些问题:

  • HTML呈现应该在一个独立的类中实现(并且像Twig这样的模板引擎应该进行呈现);
  • 标签解析太天真了,如果标签的语法不正确,可能会给你带来意想不到的结果;
  • [media]标记不支持IE。您必须更改源本身(方法TagParser::renderMedia())

需要注意的一些特点:

  • 额外的参数将呈现为[link]标记的属性,例如[link id=25 class=foo]将输出<a href="example.com" class="foo">example</a>
  • 如果引用参数,参数可能包含空格:[link id=25 class="foo bar"]将输出<a href="example.com" class="foo bar">example</a>
  • 如果DataProvider::findById()不返回数组中的'content',解析器将输出<a href="http://example.com">http://example.com</a>

代码太长,无法粘贴在这里,您可以在要旨上找到它。只需将每个文件放在第一个注释行指定的目录中,您就应该被设置。运行example.php来查看它的运行情况。您可以通过查看单元测试来了解有关使用此脚本的更多细节。

票数 1
EN

Stack Overflow用户

发布于 2011-09-03 17:06:06

您到底想要什么?,您可以从文本中获取媒体id。

代码语言:javascript
运行
复制
$text = 'some stuff [media id=468 width=660 height=440] more stuff';

preg_match("/media id=(.*) w/",$text, $results);
$result = $results[0];
$result = str_replace("media id=","",$result);

$result = str_replace("w","",$result);

$id = $result;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7293816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档