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

Come rimuovere tutti i tipi di preventivi (lingue diverse) da $string?Come rimuovere le virgolette da una stringa?

+16

$ stringa non ha virgolette in esso ti rendi conto questo? – Chris

+0

cosa dire delle virgolette rappresentate come htmlentities o urlencoded? – stillstanding

+2

Stai parlando di virgolette in linguaggio naturale (ad esempio, ") o di citazioni in linguaggio di programmazione (come' /*...*/ ')? – thejh

risposta

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

Immagino tu intenda le virgolette?

In caso contrario, andare per qualche regex, questo lavoro per le citazioni html per esempio:

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

citazioni C-style:

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

citazioni CSS-style:

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

citazioni stile bash:

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

ecc ecc ...

+9

È impossibile analizzare correttamente l'HTML con espressioni regolari. Non provare mai a farlo. – jwueller

+1

Sono d'accordo, ma è anche impossibile analizzare ** ogni ** linguaggio di programmazione correttamente ... –

+17

str_replace accetta anche gli array, quindi anche str_replace (array ('"'", "'"),' ', $ string) Btw, stai dicendo che l'HTML è un linguaggio di programmazione? ;-) – GolezTrol

Problemi correlati