Come rimuovo l'ultimo carattere solo se è un punto?
$string = "something here.";
$output = 'something here';
Risposte:
$output = rtrim($string, '.');
(Riferimento: rtrim su PHP.net )
…per quello. Se rimuovi l'ultimo punto e il rimanente è ancora un punto, il titolo della domanda non avrebbe molto senso, vero?
l'uso di rtrim sostituisce tutto "." alla fine, non solo l'ultimo personaggio
$string = "something here..";
echo preg_replace("/\.$/","",$string);
character_maskin trimpraticamente rimuove qualsiasi istanza del personaggio nell'intera stringa
Per rimuovere l'ultimo carattere solo se è un punto e non ricorrere a preg_replacenoi possiamo semplicemente trattare la stringa come un array di caratteri e rimuovere il carattere finale se è un punto.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
===invece di ==per controllare anche l'uguaglianza di tipo
So che la domanda è risolta. Ma forse questa risposta sarà utile per qualcuno.
rtrim() - Elimina gli spazi (o altri caratteri) dalla fine di una stringa
ltrim() - Elimina gli spazi (o altri caratteri) dall'inizio di una stringa
trim() - Elimina gli spazi (o altri caratteri) dall'inizio e dalla fine di una stringa
Per rimuovere caratteri speciali dalla fine della stringa o se la stringa contiene caratteri speciali dinamici alla fine, possiamo farlo con regex.
preg_replace - Eseguire una ricerca e sostituzione di espressioni regolari
$regex = "/\.$/"; //to replace the single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
$regex = "/[.*?!@#$&-_ ]+$/"; //to replace all special characters (.*?!@#$&-_) from the end
$result = preg_replace($regex, "", $string);
Ecco qualche esempio per capire quando $regex = "/[.*?!@#$&-_ ]+$/";viene applicato alla stringa
$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
Spero sia utile per te.
Grazie :-)
So che la domanda è qualcosa di vecchio ma potrebbe essere la mia risposta è utile per qualcuno.
$string = "something here..........";
ltrim rimuove i punti iniziali . per esempio:-ltrim($string, ".")
rtrim rtrim($string, ".") rimuove i punti finali.
il taglio trim($string, ".") rimuove i punti finali e iniziali.
puoi farlo anche con regex
preg_replace rimuove può essere utilizzato per rimuovere punto / punti alla fine
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
Spero sia utile per te.
L'ultimo personaggio può essere rimosso in diversi modi, eccone alcuni
rtrim()$output = rtrim($string, '.');
Regular Expressionpreg_replace("/\.$/", "", $string);
substr() / mb_substr()echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr() con trim()echo substr(trim($string), 0, -1);
Usa una combinazione di strrpos e substr per ottenere la posizione dell'ultimo carattere punto e rimuoverlo lasciando intatti tutti gli altri caratteri:
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';
Puoi usare la funzione rtrim di php che ti permette di tagliare i dati che esistono nell'ultima posizione.
Per esempio :
$trim_variable= rtrim($any_string, '.');
Modo più semplice e veloce !!
Esempio:
$columns = array('col1'=> 'value1', 'col2' => '2', 'col3' => '3', 'col4' => 'value4');
echo "Total no of elements: ".count($columns);
echo "<br>";
echo "----------------------------------------------<br />";
$keys = "";
$values = "";
foreach($columns as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
$keys = $keys."'".$x."',";
$values = $values."'".$x_value."',";
echo "<br>";
}
echo "----------------------Before------------------------<br />";
echo $keys;
echo "<br />";
echo $values;
echo "<br />";
$keys = rtrim($keys, ",");
$values = rtrim($values, ",");
echo "<br />";
echo "-----------------------After-----------------------<br />";
echo $keys;
echo "<br />";
echo $values;
?>
Produzione:
Total no of elements: 4
----------------------------------------------
Key=col1, Value=value1
Key=col2, Value=2
Key=col3, Value=3
Key=col4, Value=value4
----------------------Before------------------------
'col1','col2','col3','col4',
'value1','2','3','value4',
-----------------------After-----------------------
'col1','col2','col3','col4'
'value1','2','3','value4'
rtrimmolto più facile ...!