假设我有这个字符串:
你好世界你好我的世界
我想删除整个字符串中的前3个字符(但前提是单词以"Hel"开头)。输出应为:
lo世界lo我的世界
有人能推荐一个解决方案吗?
使用preg_replace
函数的简单解决方案:
$str = "Hello World Hello My World";
print_r(preg_replace("/'bHel/", "", $str)); // "lo World lo My World"
条件从每个单词中删除"rld"的附加方法(仅当它出现在单词末尾时):
print_r(preg_replace("/rld'b/", "", $str)); // Hello Wo Hello My Wo
您可以使用以下代码:
$str = "Hello World Hello My World";
$arr = explode(" ",$str);
for ($i = 0; $i <count($arr); $i++)
{
if (substr( $arr[$i], 0, 3 ) === "Hel")
{
$arr[$i] = str_replace("Hel","",$arr[$i]);
}
}
$outputstr = implode(" ",$arr);
这样做的目的是将字符串分割成不同单词的数组,然后在循环中,我将不使用任何内容来替换Hel,这样将删除Hel,并将数组内爆回字符串。。。这将检查Hel是否处于启动状态,然后将替换。。。
希望这能帮助…:)
您可以使用str_replace
函数。
示例
$output = str_replace(' Hel', ' ', $string);
http://php.net/manual/en/function.str-replace.php