从字符串中删除特定单词

26

我正在通过JSON提取Twitter用户的个人资料图片。我的代码如下:

$x->profile_image_url

返回个人资料图片的url。url的格式可能是 "..xyz_normal.jpg""..xyz_normal.png""..xyz_normal.jpeg""..xyz_normal.gif" 等。

现在我想从接收到的每个url中删除 "_normal" 部分。我该如何在php中实现这一点?我已经尝试过很多次了,请求帮助。


1
展示你厌倦尝试的“它”。 - tigrang
6个回答

91

PHP中的str_replace函数。

str_replace('_normal', '', $var)

这段代码的作用是在变量$var中将 '_normal' 替换为 '' (空字符串)。 如果需要正则表达式的功能可以参考 preg_replace


1
如果路径中其他地方有“_normal”,可能会导致此操作失效? - Software Guy
太棒了,谢谢。我之前创建了太多的变量并且分割它们,然后使用concat函数。谢谢! - user188995
@Kamran,没错,那么你可能需要一个正则表达式和更多的数据知识。 - Matsemann

5

str_ireplace()函数执行相同的功能,但忽略大小写

例如:

<?php
echo str_ireplace("World","Peter","Hello world!");
?>

输出:你好 Peter!

更多示例,请参见


4

str_replace()函数用于将字符串中的某些字符替换为其他字符。

尝试像这样使用:

$x->str_replace("_normal","",$x)

4
$s = 'Posted On jan 3rd By Some Dude';


echo strstr($s, 'By', true);

这是从字符串中删除特定字符串的方法。
结果将如下所示。
 'Posted On jan 3rd'

1
多重替换。
$a = array('one','two','three');
$var = "one_1 two_2 three_3";
str_replace($a, '',$var);

-2
string erase(subscript, count)
    {
     string place="New York";
     place erase(0,2)
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接