2010-11-19 13 views
37
$string = "my text has \"double quotes\" and 'single quotes'"; 

¿Cómo eliminar todo tipo de citas (diferentes idiomas) de $string?¿Cómo elimino las comillas de una cadena?

+16

$ string no tiene citas en él ¿te das cuenta de esto? – Chris

+0

¿qué pasa con las citas representadas como htmlentities o urlencoded? – stillstanding

+2

¿Está hablando de citas en lenguaje natural (por ejemplo, ") o de citas de lenguaje de programación (como' /*...*/ ')? – thejh

Respuesta

89
str_replace('"', "", $string); 
str_replace("'", "", $string); 

Supongo que quiere decir comillas?

De lo contrario, ir por alguna expresión regular, esto funcionará para las cotizaciones del HTML, por ejemplo:

preg_replace("/<!--.*?-->/", "", $string); 

cotizaciones de estilo C:

preg_replace("/\/\/.*?\n/", "\n", $string); 

cotizaciones de estilo CSS:

preg_replace("/\/*.*?\*\//", "", $string); 

cotizaciones bash-style:

preg-replace("/#.*?\n/", "\n", $string); 

Etc etc ...

+9

Es imposible analizar HTML con expresiones regulares correctamente. Nunca intentes hacer eso. – jwueller

+1

Acepto, pero también es imposible analizar correctamente ** cada ** lenguaje de programación ... –

+17

str_replace también acepta matrices, por lo que str_replace (array ('"'," '"),' ', $ string) también Por cierto, ¿estás diciendo que HTML es un lenguaje de programación? ;-) – GolezTrol

Cuestiones relacionadas