Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP删除特定字符串之前的所有字符_Php_String - Fatal编程技术网

PHP删除特定字符串之前的所有字符

PHP删除特定字符串之前的所有字符,php,string,Php,String,在字符串中出现以下情况之前,我需要删除任何字符串中的所有字符: "www/audio" 不确定我如何才能做到这一点。您可以使用 echo strstr($str, 'www/audio'); 您可以使用和来实现此目标 您还可以使用模式来仅匹配您想要的内容。您的里程数可能因以下哪种方法更有意义而有所不同。考虑 $string="We have www/audio path where the audio files are stored"; //Considering the string

在字符串中出现以下情况之前,我需要删除任何字符串中的所有字符:

"www/audio"
不确定我如何才能做到这一点。

您可以使用

echo strstr($str, 'www/audio');
您可以使用和来实现此目标

您还可以使用模式来仅匹配您想要的内容。您的里程数可能因以下哪种方法更有意义而有所不同。

考虑

$string="We have www/audio path where the audio files are stored";  //Considering the string like this
你可以用

strstr($string, 'www/audio');

我使用这个函数

function strright($str, $separator) {
    if (intval($separator)) {
        return substr($str, -$separator);
    } elseif ($separator === 0) {
        return $str;
    } else {
        $strpos = strpos($str, $separator);

        if ($strpos === false) {
            return $str;
        } else {
            return substr($str, -$strpos + 1);
        }
    }
}

function strleft($str, $separator) {
    if (intval($separator)) {
        return substr($str, 0, $separator);
    } elseif ($separator === 0) {
        return $str;
    } else {
        $strpos = strpos($str, $separator);

        if ($strpos === false) {
            return $str;
        } else {
            return substr($str, 0, $strpos);
        }
    }
}

快速提示:您可以使用
strstrstr()
通过调用
echo strstrstr($str,'www/audio',true)来返回位于其参数前面的字符串部分字符串函数通常比数组函数快。事实上,explode是一个更好的答案,因为问题是关于在字符串之前删除文本。如果您尝试删除的同一字符串多次出现,explode可能会导致问题,例如,“我们有存储www/audio文件的www/audio路径”如果您想使用explode,可以执行类似于foreach($key=>$value)echo($key==0?“”:“www/audio.”$value)的操作;或foreach($key=>$value)echo($key==0?“”:($key==1?“”:'www/audio')。$value);如果您想省略首字母www/audio.com,您可能会发现或有帮助,如中所示。对于单个字符,请选中:这适用于同一字符串的多次出现。谢谢对于right remove-在第一次出现分隔符后从substr中获取完整字符串
function strright($str, $separator) {
    if (intval($separator)) {
        return substr($str, -$separator);
    } elseif ($separator === 0) {
        return $str;
    } else {
        $strpos = strpos($str, $separator);

        if ($strpos === false) {
            return $str;
        } else {
            return substr($str, -$strpos + 1);
        }
    }
}

function strleft($str, $separator) {
    if (intval($separator)) {
        return substr($str, 0, $separator);
    } elseif ($separator === 0) {
        return $str;
    } else {
        $strpos = strpos($str, $separator);

        if ($strpos === false) {
            return $str;
        } else {
            return substr($str, 0, $strpos);
        }
    }
}