2011-12-05 14 views
8

C'è un modo per rimuovere tutto prima e includere l'ultima istanza di un determinato carattere?PHP rimuove tutto prima dell'ultima istanza di un carattere

Ho più stringhe che contengono >, ad es.

  1. the > cat > sat > on > the > mat

  2. welcome > home

Ho bisogno le stringhe da formattare in modo che diventino

  1. mat

  2. home

+0

possibile duplicato di [remove_before()] (http://stackoverflow.com/questions/3403476/remove-before) – Gordon

risposta

22

Si potrebbe usare un'espressione regolare ...

$str = preg_replace('/^.*>\s*/', '', $str); 

CodePad.

... o utilizzare explode() ...

$tokens = explode('>', $str); 
$str = trim(end($tokens)); 

CodePad.

... o substr() ...

$str = trim(substr($str, strrpos($str, '>') + 1)); 

CodePad.

Ci sono probabilmente molti altri modi per farlo. Tieni a mente i miei esempi tagliare la stringa risultante. Puoi sempre modificare il mio codice di esempio se questo non è un requisito.

+0

che rappresenta l'operazione meno costosa per i suggerimenti sopra riportati? – Julian

+0

@Julian Profilo e vedere! Sospetto che l'ultimo possa essere il più veloce. – alex

Problemi correlati