Puede que no se desee eliminar ... (puntos suspensivos):
miércoles
2
@OndrejIvanic: Tienes …para eso. Si quita el último punto y el resto sigue siendo un punto, el título de la pregunta no tendría mucho sentido, ¿verdad?
Alix Axel
29
el uso de rtrim reemplaza todo "." al final, no solo el último personaje
Supongo que el OP quiere eliminar todo '. al final, de lo contrario, ¿por qué eliminar solo uno? ;)
Tor Valamo
2
sí, yo también lo supongo. simplemente siguiendo la pregunta lo más cerca posible.
ghostdog74
2
Esto es mucho mejor, mucha gente no se da cuenta utilizando character_masken trimbásicamente elimina cualquier instancia del carácter en la cadena completa
Brock Hensley
8
Para eliminar el último carácter solo si es un punto y sin recurrir a él preg_replace, podemos tratar la cadena como una matriz de caracteres y eliminar el carácter final si es un punto.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
Esta es la respuesta correcta ya que las otras eliminarían todos los caracteres finales, no solo el último. Pero debe usar en ===lugar de ==para verificar también la igualdad de tipos
padawanTony
3
Sé que la pregunta está resuelta. Pero tal vez esta respuesta sea útil para alguien.
rtrim() - Quite los espacios en blanco (u otros caracteres) del final de una cadena
ltrim() - Quite los espacios en blanco (u otros caracteres) del principio de una cadena
trim() - Quite los espacios en blanco (u otros caracteres) del principio y el final de una cadena
Para eliminar caracteres especiales del final de la cadena o si la cadena contiene caracteres especiales dinámicos al final, podemos hacerlo mediante expresiones regulares.
preg_replace - Realizar una búsqueda y reemplazo de expresiones regulares
$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);
Aquí hay un ejemplo para entender cuándo $regex = "/[.*?!@#$&-_ ]+$/";se aplica a una cadena.
rtrim
mucho más fácil ...!…
para eso. Si quita el último punto y el resto sigue siendo un punto, el título de la pregunta no tendría mucho sentido, ¿verdad?el uso de rtrim reemplaza todo "." al final, no solo el último personaje
$string = "something here.."; echo preg_replace("/\.$/","",$string);
fuente
character_mask
entrim
básicamente elimina cualquier instancia del carácter en la cadena completaPara eliminar el último carácter solo si es un punto y sin recurrir a él
preg_replace
, podemos tratar la cadena como una matriz de caracteres y eliminar el carácter final si es un punto.if ($str[strlen($str)-1]==='.') $str=substr($str, 0, -1);
fuente
===
lugar de==
para verificar también la igualdad de tiposSé que la pregunta está resuelta. Pero tal vez esta respuesta sea útil para alguien.
rtrim()
- Quite los espacios en blanco (u otros caracteres) del final de una cadenaltrim()
- Quite los espacios en blanco (u otros caracteres) del principio de una cadenatrim()
- Quite los espacios en blanco (u otros caracteres) del principio y el final de una cadenaPara eliminar caracteres especiales del final de la cadena o si la cadena contiene caracteres especiales dinámicos al final, podemos hacerlo mediante expresiones regulares.
preg_replace
- Realizar una búsqueda y reemplazo de expresiones regulares$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);
Aquí hay un ejemplo para entender cuándo
$regex = "/[.*?!@#$&-_ ]+$/";
se aplica a una cadena.$string = "Some text........"; // $resul -> "Some text"; $string = "Some text.????"; // $resul -> "Some text"; $string = "Some text!!!"; // $resul -> "Some text"; $string = "Some text..!???"; // $resul -> "Some text";
Espero que te sea de ayuda.
Gracias :-)
fuente
Sé que la pregunta es algo antigua, pero puede que mi respuesta sea útil para alguien.
$string = "something here..........";
ltrim eliminaría los puntos iniciales . por ejemplo:-
ltrim($string, ".")
rtrim
rtrim($string, ".")
eliminaría los puntos finales.podar
trim($string, ".")
eliminaría los puntos iniciales y finales.también puedes hacer esto por expresiones regulares
preg_replace would remove se puede usar para eliminar puntos / puntos al final
$regex = "/\.$/"; //to replace single dot at the end $regex = "/\.+$/"; //to replace multiple dots at the end preg_replace($regex, "", $string);
Espero que te sea de ayuda.
fuente
El último carácter se puede eliminar de diferentes formas, aquí hay algunas
rtrim()
$output = rtrim($string, '.');
Regular Expression
preg_replace("/\.$/", "", $string);
substr()
/mb_substr()
echo mb_substr($string, 0, -1); echo substr(trim($string), 0, -1);
substr()
contrim()
echo substr(trim($string), 0, -1);
fuente
Use una combinación de strrpos y substr para obtener la posición del último carácter de punto y elimínelo dejando todos los demás caracteres intactos:
$string = "something here."; $pos = strrpos($string,'.'); if($pos !== false){ $output = substr($string,0,$pos); } else { $output = $string; } var_dump($output); // $output = 'something here';
fuente
Puede usar la función rtrim de php que le permite recortar los datos que existen en la última posición.
Por ejemplo :
$trim_variable= rtrim($any_string, '.');
Manera más sencilla y en ayunas !!
fuente
Ejemplo:
$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; ?>
Salida:
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'
fuente