我有一个类似“汽车版本XXXX”的字符串。
我想在“版本”之后删除所有内容,但保留第一部分。最终应该是“汽车版”
目前,我设法做到了:
$version = "Car version 15282";
$version = substr($version, 0, strpos($version, "version"));
echo $version;
但是它也删除了字符串“ version”,我需要保留它。在网络上,我仅看到要删除的字符(包括最后一个字符)的示例。
如何在PHP中实现此目标?
答案 0 :(得分:2)
您需要增加搜索字符串的长度,因为strlen()
为您提供了字符串version
的起始位置的索引。
$version = "Car version 15282";
$version = substr($version, 0, strpos($version, "version")+strlen("version"));
echo $version;
给出结果
Car version
答案 1 :(得分:2)
因为您知道要查找的内容,所以只需要一个功能:
$version = "Car version 15282";
$find = "version";
$version = strstr($version, $find, true) . $find;
如果它变得更复杂,则匹配并捕获()
直至您想要找到的所有内容.*
和$find
,并将其替换为.*
之后的所有内容与您捕获的$1
:
$version = preg_replace("/(.*$find).*/", "$1", $version);