从字符串PHP的开头到结尾删除特定字符

I have a Sting like this :

$content = "[video width="640" height="360" mp4="http://click.ir/wp-content/uploads/2017/09/Spinning_cylinder_shaped_elevator.mp4"][/video]"

I want to delete from '[video' to 'mp4="' ... is there any built-in function in PHP or solution to solve this problem.

the width and height are not static or defined in my Problem

I assume you want to get the URL. I would use regex to get the url out of it. The regex would be http[\S]*.mp4.

In code this is:

$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

There are bether and nicer regex for URL, but in your case this would work. Depending on your Incoming data, you can adjust your regex to get what you want.

See preg_match docs: http://php.net/manual/en/function.preg-match.php

Online Regex tester: https://www.regexpal.com/

Lots of Regex infos: http://www.regular-expressions.info/

Use regular expressions. If I got your question right, you need to delete the url part of the string till the very end of this string. Here's the code you can use:

<?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);
?>

To extract the mp4 URL part, just use preg_match:

preg_match('#mp4=\"(.*)\"#i', $content, $result);
if(!empty($result[1])){
    $url = $result[1];
}else{
   $url = "";
}

Here is a simple 1 line solution to remove part of the string until 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]""

But if you just want the url string:

$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"