有人可以告诉我为什么当我运行这段代码时,preg_replace函数似乎什么都没做?
<?php
$string = 'waka http://video.webmfiles.org/big-buck-bunny_trailer.webm waka';
$search = '#http\:\/\/.\.webm #';
$replace = '<video width="320" height="240" controls><source src="$1" type="video/webm"></video>';
$url = preg_replace($search,$replace,$string);
echo $url;
?>
我的$ search字符串错了吗?如果是这样,我该如何解决?它假设从http://
开始并以.webm
结尾替换字符串,并用播放.webm视频所需的html代码包围它们。
答案 0 :(得分:1)
我最终搞清楚了。我现在正在使用:
else
答案 1 :(得分:1)
以下是我如何做到这一点......
$string = 'waka http://video.webmfiles.org/big-buck-bunny_trailer.webm waka';
$search = '/(https?\:\/\/.+?\.webm)\h/';
$replace = '<video width="320" height="240" controls><source src="$1" type="video/webm"></video> ';
$url = preg_replace($search,$replace,$string);
echo $url;
输出:
waka <video width="320" height="240" controls><source src="http://video.webmfiles.org/big-buck-bunny_trailer.webm" type="video/webm"></video> waka
Regex101演示:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_animations