2011-10-18 40 views
55

tôi cần phải loại bỏ tất cả các ký tự từ bất kỳ chuỗi trước khi sự xuất hiện của việc này bên trong chuỗi:PHP loại bỏ tất cả các ký tự trước khi chuỗi cụ thể

"www/audio" 

Không chắc làm thế nào tôi có thể làm điều này.

+0

Bạn có thể tìm thấy [ 's ($ str) -> afterFirst ('www/âm thanh')'] (https://github.com/delight-im/PHP-Str/ blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php # L435) hoặc ['s ($ str) -> afterLast ('www/audio')'] (https://github.com/delight-im/PHP-Str/blob /8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L445) hữu ích, như được tìm thấy trong [thư viện độc lập này] (https://github.com/delight-im/PHP-Str). – caw

Trả lời

123

Bạn có thể sử dụng strstr để thực hiện việc này.

echo strstr($str, 'www/audio'); 
+18

Lưu ý nhanh: bạn có thể sử dụng 'strstr()' để trả về một phần của chuỗi đến ** trước ** đối số của nó quá bằng cách gọi 'echo strstr ($ str, 'www/audio', true),' – cfx

0

Bạn có thể sử dụng substringstrpos để thực hiện mục tiêu này.

Bạn cũng có thể sử dụng regular expression để khớp mẫu chỉ với những gì bạn muốn. Số dặm của bạn có thể thay đổi theo cách tiếp cận nào có ý nghĩa hơn.

14

Xét

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

Hoặc bạn có thể sử dụng

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

Hoặc

$expStr=explode("www/audio",$string); 
$resultString="www/audio".$expStr[1]; 
+0

chuỗi các hàm thường nhanh hơn các hàm mảng –

+1

Sự bùng nổ thực ra là một câu trả lời tốt hơn, vì câu hỏi là về _removing_ văn bản trước chuỗi. –

0

tôi sử dụng này có chức năng

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); 
     } 
    } 
} 
+5

Quá nhiều thứ khác - nếu được coi là tốt: p –

Các vấn đề liên quan