PHP preg_replace 不替换任何东西
PHP preg_replace not replacing anything
有人能告诉我为什么当我 运行 这段代码时 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="" type="video/webm"></video>';
$url = preg_replace($search,$replace,$string);
echo $url;
?>
我的 $search 字符串错了吗?如果是这样,我该如何解决?假设要替换以 http://
开始并以 .webm
结束的字符串,并用播放 .webm 视频所需的 html 代码包围它们。
我终于搞清楚了。我现在正在使用:
$search = '#http:\/\/([^\']+)\.webm #';
以下是我的操作方式...
$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="" 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://regex101.com/r/qR1xJ7/2
有人能告诉我为什么当我 运行 这段代码时 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="" type="video/webm"></video>';
$url = preg_replace($search,$replace,$string);
echo $url;
?>
我的 $search 字符串错了吗?如果是这样,我该如何解决?假设要替换以 http://
开始并以 .webm
结束的字符串,并用播放 .webm 视频所需的 html 代码包围它们。
我终于搞清楚了。我现在正在使用:
$search = '#http:\/\/([^\']+)\.webm #';
以下是我的操作方式...
$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="" 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://regex101.com/r/qR1xJ7/2