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