我有一个像这样的Sting:
$content = "[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]"
我想从'[video' to 'mp4="'
删除...
built-in
中是否有function
PHP
或解决此问题的解决方案。
宽度和高度不是静态的,或在我的问题中定义
答案 0 :(得分:3)
这是一个简单的1行解决方案,用于删除部分字符串,直到mp4=
:
$string = '[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]"';
$data = stristr($string, 'mp4="');
var_dump($data);
// string(96) "mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]""
但是如果你只想要url字符串:
$string = '[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]"';
preg_match('#"\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))"#', $string, $match);
var_dump(trim($match[0],'"'));
// string(80) "http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"
答案 1 :(得分:1)
要提取mp4网址部分,只需使用preg_match:
preg_match('#mp4=\"(.*)\"#i', $content, $result);
if(!empty($result[1])){
$url = $result[1];
}else{
$url = "";
}
答案 2 :(得分:0)
使用正则表达式。如果我的问题是正确的,你需要删除字符串的url部分,直到这个字符串的最后。这是您可以使用的代码:
<?php
$str = '[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]';
$str = preg_replace_callback("/(\[video .*mp4=\")(.*)/", 'the_function', $str);
function the_function($matches) {
return $matches[1];
}
var_dump($str);
?>
答案 3 :(得分:0)
我假设您想要获取该网址。我会使用正则表达式来获取它的url。正则表达式是http [\ S] *。mp4。
在代码中,这是:
$string = '[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]"';
// use regex to fetch the url
preg_match("/http[\S]*\.mp4/", $string, $matches);
// get first match
$url = $matches[0];
// $url is http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4
有更好的URL和更好的正则表达式,但在你的情况下,这将工作。根据您的传入数据,您可以调整正则表达式以获得所需内容。
请参阅preg_match docs:http://php.net/manual/en/function.preg-match.php
在线正则表达式测试员:https://www.regexpal.com/
很多Regex的相关信息:http://www.regular-expressions.info/