返回字符串,如果它包含特定单词

时间:2016-08-01 18:19:41

标签: php regex preg-replace str-replace strpos

我有一个字符串。我想在PHP中编写一个脚本,如果它有特定的字符,则返回一个字符串。

例如:"嗨,这是sample.png"是一个字符串。现在我想输出"嗨,这是"。

即,如果字符串包含.jpg,.png,那么我需要从字符串中替换这些字。

这是我的示例代码:

{{1}}

2 个答案:

答案 0 :(得分:1)

你可以用正则表达式做到这一点,也许是这样的?

$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);

答案 1 :(得分:1)

使用具有特定正则表达式模式的preg_replace函数的解决方案:

$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, )"

如果你认为其他一些角色是“关键词”的一部分 - 只需将它们添加到角色类[\w_ <other characters>]