多年来我一直试图理解正则表达式,但无济于事!
我有一个系统(假设它是一个清晰的论坛),用户可以在其中发布文本等,他们可以发布 youtube 和 soundcloud 嵌入代码。我正在创建一个过滤器来清理提交的内容(以及使用 htmlpurifier)。因为我们的网站是 SSL,所以我想将嵌入代码格式化为 https:// 并更改 iframe 的大小等。所以我想做的是捕获所有 youtube 和 soundcloud iframe,将它们变成一个标签,例如"%youtube_embed%=dhusydg"
,运行我的过滤器杀死所有 iframe 等,然后根据我的格式构建 youtube/soundcloud iframe 嵌入。
所以这就是我所拥有的......那不起作用!
$string = preg_replace('/<iframe width="420" height="315" src="http\:\/\/www.youtube.com\/embed\/(.*)" frameborder="0" allowfullscreen>\<\/iframe>/', '%youtube_embed%=$1', $string);
应该做的是找到任何标准的 youtube 嵌入代码,从 url 中提取视频 ID,并将其转换为以后可以替换的字符串。然而,令人沮丧的无法理解正则表达式导致什么也没有发生!我该怎么做?