从字符串末尾的特定字符后删除字符串的一部分

时间:2017-06-07 05:20:32

标签: php

我需要从最后一个特定字符后删除字符串中的所有字符。以下代码仅在包含一个#时有效 例如:

$variable = "8233 Station #2212";
echo trim(substr($variable, 0, strpos($variable, "#")));

结果:“8233站”; 但是如果字符串包含多个#我需要在最后一个#

之后避免字符串
 $variable = "8233 Station #2211 #2212";

在上述情况下我需要的结果是“8233 Station#2211”

3 个答案:

答案 0 :(得分:1)

使用strrpos获取最后匹配元素的位置

//$variable = "8233 Station #2212"; //8233 Station
$variable = "8233 Station #2211 #2212";
echo trim(substr($variable, 0, strrpos($variable, "#"))); //8233 Station #2211

答案 1 :(得分:1)

也可以使用substr()从字符串中提取字符串,strrpos()返回最后一个字符,请尝试如下:

<?php
$variable = "8233 Station #2211 #2212";
echo substr($variable, 0, strrpos($variable, "#"));

检查输出:https://eval.in/813032

答案 2 :(得分:1)

使用strrpos代替strpos

strpos - 查找字符串中第一次出现子字符串的位置

strrpos - 查找字符串中最后一个子字符串的位置

$variable = "8233 Station #2212 #2212";
echo trim(substr($variable, 0, strrpos($variable, "#")));