2011-10-18 33 views
55

necesito para eliminar todos los caracteres de cualquier cadena antes de la aparición de este dentro de la cadena:PHP eliminar todos los caracteres antes de cadena específica

"www/audio" 

No sabe cómo puedo hacer esto.

+0

Es posible encontrar [ 's ($ str) -> afterFirst ('www/audio')'] (https://github.com/delight-im/PHP-Str/ blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php # L435) o ['s ($ str) -> afterLast ('www/audio')'] (https://github.com/delight-im/PHP-Str/blob /8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L445) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Str). – caw

Respuesta

123

Puede usar strstr para hacer esto.

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

Nota rápida: puede usar 'strstr()' para devolver la parte de la cadena que viene ** antes de ** su argumento también llamando 'echo strstr ($ str, 'www/audio', true);' – cfx

0

Puede utilizar substring y strpos para lograr este objetivo.

También podría usar un regular expression para emparejar el patrón solo con lo que desea. Su kilometraje puede variar según cuál de estos enfoques tenga más sentido.

14

Considerando

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

O se puede utilizar

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

O

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

cadena las funciones son generalmente más rápidas que las funciones de matriz –

+1

La explosión es, de hecho, una mejor respuesta, ya que la pregunta era sobre la eliminación del texto antes de la cadena. –

0

utilizo este funciona

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

Demasiados otros, si se los considera buenos: p –

Cuestiones relacionadas