regular preg_replace preg_match_all preg_match pattern online examples ejemplos php regex string

php - preg_replace - regex preg_match_all



PHP-¿Cómo eliminar todos los caracteres específicos al final de una cadena? (7)

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''

¿Cómo eliminar el último personaje solo si es un punto?

$string = "something here."; $output = ''something here'';


Para eliminar el último carácter solo si es un punto y no recurrir a preg_replace , podemos tratar la cadena como una matriz de caracteres y eliminar el carácter final si se trata de un punto.

if ($str[strlen($str)-1]===''.'') $str=substr($str, 0, -1);


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, ''.'');

¡La forma más simple y rápida!


Sé que la pregunta es algo antiguo, pero puede ser que mi respuesta sea útil para alguien.

$string = "something here..........";

ltrim eliminaría los puntos principales. por ejemplo: - ltrim($string, ".")

rtrim rtrim($string, ".") eliminaría los puntos finales.

trim trim($string, ".") eliminaría los puntos iniciales y finales.

también puedes hacer esto por regex

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 sea útil para ti.


Utilice una combinación de strrpos y substr para obtener la posición del último carácter de punto y eliminarlo, dejando intactos todos los demás caracteres:

$string = "something here."; $pos = strrpos($string,''.''); if($pos !== false){ $output = substr($string,0,$pos); } else { $output = $string; } var_dump($output); // $output = ''something here'';


usar rtrim reemplaza todo "." al final, no solo el último personaje

$string = "something here.."; echo preg_replace("//.$/","",$string);