Как удалить последний символ, только если это точка?
$string = "something here.";
$output = 'something here';
Ответы:
$output = rtrim($string, '.');
(Ссылка: rtrim на PHP.net )
…для этого. Если вы удалите последнюю точку, а оставшаяся точка останется точкой, заголовок вопроса не будет иметь особого смысла, не так ли?
использование rtrim заменяет все "." в конце, а не только последний символ
$string = "something here..";
echo preg_replace("/\.$/","",$string);
character_maskin в trimосновном удаляет любой экземпляр символа во всей строке
Чтобы удалить последний символ, только если это точка, и не прибегая к этому, preg_replaceмы можем просто рассматривать строку как массив символов и удалить последний символ, если это точка.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
===вместо того, ==чтобы также проверять равенство типов
Я знаю, что вопрос решен. Но, возможно, этот ответ будет кому-то полезен.
rtrim() - Убрать пробелы (или другие символы) с конца строки
ltrim() - Удаление пробелов (или других символов) из начала строки
trim() - Убрать пробелы (или другие символы) из начала и конца строки
Для удаления специальных символов из конца строки или Если строка содержит динамические специальные символы в конце, мы можем сделать это с помощью регулярного выражения.
preg_replace - Выполните поиск по регулярному выражению и замените
$regex = "/\.$/"; //to replace the single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
$regex = "/[.*?!@#$&-_ ]+$/"; //to replace all special characters (.*?!@#$&-_) from the end
$result = preg_replace($regex, "", $string);
Вот несколько примеров, чтобы понять, когда $regex = "/[.*?!@#$&-_ ]+$/";применяется к строке
$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
Надеюсь, это будет вам полезно.
Благодарность :-)
Я знаю, что вопрос в том, какой старый, но, возможно, мой ответ кому-то поможет.
$string = "something here..........";
ltrim удалит ведущие точки. например:-ltrim($string, ".")
rtrim rtrim($string, ".") удалит конечные точки.
trim trim($string, ".") удалит конечные и ведущие точки.
вы также можете сделать это с помощью регулярного выражения
preg_replace would remove можно использовать для удаления точки / точек в конце
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
Надеюсь, это будет вам полезно.
Последний символ можно удалить разными способами, вот несколько
rtrim()$output = rtrim($string, '.');
Regular Expressionpreg_replace("/\.$/", "", $string);
substr() / mb_substr()echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr() с участием trim()echo substr(trim($string), 0, -1);
Используйте комбинацию strrpos и substr, чтобы получить позицию последнего символа точки и удалить его, оставив все остальные символы нетронутыми:
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';
Вы можете использовать функцию rtrim php, которая позволяет обрезать данные, которые существуют в последней позиции.
Например :
$trim_variable= rtrim($any_string, '.');
Самый простой и быстрый способ !!
Пример:
$columns = array('col1'=> 'value1', 'col2' => '2', 'col3' => '3', 'col4' => 'value4');
echo "Total no of elements: ".count($columns);
echo "<br>";
echo "----------------------------------------------<br />";
$keys = "";
$values = "";
foreach($columns as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
$keys = $keys."'".$x."',";
$values = $values."'".$x_value."',";
echo "<br>";
}
echo "----------------------Before------------------------<br />";
echo $keys;
echo "<br />";
echo $values;
echo "<br />";
$keys = rtrim($keys, ",");
$values = rtrim($values, ",");
echo "<br />";
echo "-----------------------After-----------------------<br />";
echo $keys;
echo "<br />";
echo $values;
?>
Выход:
Total no of elements: 4
----------------------------------------------
Key=col1, Value=value1
Key=col2, Value=2
Key=col3, Value=3
Key=col4, Value=value4
----------------------Before------------------------
'col1','col2','col3','col4',
'value1','2','3','value4',
-----------------------After-----------------------
'col1','col2','col3','col4'
'value1','2','3','value4'
rtrimмногом другом ...!