2016-05-13 16 views
-1

im Grunde möchte ich wie alle Worte ersetzen: Test, someword, bleble.Wie alle Spiele mit Regex/PHP/preg_replace ersetzen

Das Problem ist, dass Regex ich verwende, ersetzt nur eines der Wörter, das erste, das gefunden wird. Kann mir jemand mit diesem helfen?

$string = 'http://nu/style/test/someword/bleble'; 
preg_replace('/(test|someword|bleble)/','',$string); 

Mit besten Grüßen, Mateusz

+1

So finden https://ideone.com/ArrsJz - es ist das Entfernen sie –

+1

Also, was ist die erwartete Ausgabe? –

+0

Ich denke, dass dein Code gut funktioniert. Ihr Code wird ausgegeben: 'http: // nu/style ///' – pes502

Antwort

1

Sie array() für Ihre Muster verwenden können. Sie benötigen ein Array für die Muster, die ersetzt werden können, und ein anderes Array für den Ersatz.

$string = 'http://nu/style/test/someword/bleble'; 
$patterns = array(
    "/test/", 
    "/someword/", 
    "/bleble/" 
); 

$replacements = array(
    "", 
    "", 
    "" 
); 

preg_replace($patterns, $replacements, $string); 

Natürlich, wenn Sie alle $patterns mit dem gleichen Wort ersetzen möchten, können Sie verwenden:

preg_replace($patterns, " ", $string); 

OUTPUT:http://nu/style///

2

können Sie verwenden ein Array, um das Problem zu lösen.

$string = "http://nu/style/test/someword/bleble"; 
$remove = array("/test/", "someword/", "bleble"); 

$result = str_replace($remove, ' ', $string);