PHP удаляет все символы перед определенной строкой - PullRequest
70 голосов
/ 18 октября 2011

Мне нужно удалить все символы из любой строки до появления этого внутри строки:

"www/audio"

Не уверен, как я могу это сделать.

Ответы [ 5 ]

146 голосов
/ 18 октября 2011

Вы можете использовать strstr для этого.

echo strstr($str, 'www/audio');
18 голосов
/ 18 октября 2011

Учитывая

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

Либо вы можете использовать

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

Или

$expStr=explode("www/audio",$string);
$resultString="www/audio".$expStr[1];
1 голос
/ 18 октября 2011

Я использую эту функцию

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);
        }
    }
}
0 голосов
/ 01 апреля 2016

Повтор по функциям

$str = 'https://pbs.twimg.com/media/Ce-IZnCW4AEtiG4.jpg';
echo strright($str, '/');
returns 4.jpg
0 голосов
/ 18 октября 2011

Вы можете использовать подстрока и strpos для достижения этой цели.

Вы также можете использовать регулярное выражение для сопоставления с образцом только того, что вы хотите. Ваш пробег может варьироваться в зависимости от того, какой из этих подходов имеет больше смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...