2017-02-26 5 views
0

ich in ein seltsames Problem mit str_replace läuft,PHP str_replace ersetzt nicht "AND AND"

Ich möchte eine Instanz ersetzen "AND AND" in einen String. Wie so:

$filters->sql = str_replace("AND AND","test",$filters->sql); 

Allerdings scheint es, dass str_replace nicht dieses "AND AND" finden können, während

$filters->sql = str_replace("AND ","test",$filters->sql); 

Werke und auch

$filters->sql = str_replace("AND","test",$filters->sql); 

funktioniert.

Ich habe die Zeichenfolge mehrfach wiederholt und kopiert-eingefügt, um zu sehen, dass ich die richtige Zeichenfolge habe.

Antwort

0

Es ist möglich, dass mehr als ein Leerzeichen zwischen AND AND steht.

Bitte versuchen Sie dies:

$filters->sql = preg_replace('/AND\s+AND/', 'test', $filters->sql);