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

Wie entfernt man alle Arten von Anführungszeichen (verschiedene Sprachen) von $string?Wie entferne ich Zitate aus einer Zeichenfolge?

+16

$ string hat keine Anführungszeichen in Sie realisieren dies? – Chris

+0

was ist mit Zitaten als Htmlentities oder urlencoded dargestellt? – stillstanding

+2

Sprechen Sie über Zitate in natürlicher Sprache (z. B. ") oder über Zitate in Programmiersprache (z. B.' /*...*/ ')? – thejh

Antwort

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

Ich nehme an, Sie meinen Anführungszeichen?

Andernfalls für einige regex gehen, ist dies für HTML-Angebote zum Beispiel funktionieren:

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

C-Stil Zitate:

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

CSS-Stil zitiert:

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

bash-style quotes:

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

Etc etc ...

+9

Es ist unmöglich, HTML mit regulären Ausdrücken richtig zu analysieren. Versuche niemals das zu tun. – jwueller

+1

Ich stimme zu, aber es ist auch unmöglich, ** jede ** Programmiersprache richtig zu parsen ... –

+17

str_replace akzeptiert auch Arrays, also wird str_replace (array ('' ',' ''), '', $ string) auch btw, sagst du, dass HTML eine Programmiersprache ist? ;-) – GolezTrol