2016-08-01 35 views
-3

Ich habe eine Zeichenfolge. Ich möchte ein Skript in PHP schreiben, um eine Zeichenfolge zurückzugeben, wenn sie bestimmte Zeichen hat.Gibt eine Zeichenfolge zurück, wenn sie ein bestimmtes Wort enthält

Zum Beispiel: "Hallo, das ist die Probe.png" ist eine Zeichenfolge. Jetzt möchte ich als "Hi, das ist der" ausgeben.

Das heißt, wenn die Zeichenfolge .jpg, .png enthält, dann muss ich diese Wörter aus einer Zeichenfolge ersetzen.

Das ist mein Beispielcode:

+0

Was haben Sie versucht? Bitte zeigen Sie etwas Code. –

Antwort

1

Die Lösung mit preg_replace Funktion mit einem bestimmten RegexMuster: ein Teil der „entscheidenden Worte“ sein

$str = 'Hi, this is the sample_test.png (or, perhaps, sample_test.jpg)'; 
$output = preg_replace('/\b[\w_]+\.(png|jpg)\b/', '', $str); 

print_r($output); // "Hi, this is the (or, perhaps,)" 

Wenn Sie einige andere Zeichen annehmen - nur fügen Sie sie in eine Zeichenklasse [\w_ <other characters>]

+0

Wenn die Zeichenfolge sample_test.png enthält, ersetzt Ihr Code nur test.png. aber ich möchte sample_test.png – Guru

+0

@Guru ersetzen, ok, siehe mein Update – RomanPerekhrest

+0

Danke @Roman – Guru

1

Sie können dies tun mit einer Regex, vielleicht so etwas wie das?

$output = preg_replace('/[^ ]+.png/', '$1','Hi, this is the sample.png'); 
$output2 = preg_replace('/[^ ]+.jpg/', '$1','Hi, this is the sample.jpg'); 
print_r($output); 
print_r($output2);