Как удалить последний символ только в том случае, если это период?
$string = "something here."; $output = 'something here';
$output = rtrim($string, '.');
(Ссылка: rtrim на PHP.net )
использование rtrim заменяет все "." в конце, а не только последний символ
$string = "something here.."; echo preg_replace("/\.$/","",$string);
Чтобы удалить последний символ, только если это период и не прибегает к preg_replace
мы можем просто обработать строку как массив символов и удалить конечный символ, если это точка.
if ($str[strlen($str)-1]==='.') $str=substr($str, 0, -1);
Я знаю, что вопрос – это какой-то старый, но может быть мой ответ полезен для кого-то.
$string = "something here..........";
ltrim удалит ведущие точки. например: – ltrim($string, ".")
rtrim rtrim($string, ".")
удалит конечные точки.
trim($string, ".")
удаляет конечные и ведущие точки.
вы также можете сделать это с помощью регулярного выражения
preg_replace будет удаляться, можно использовать для удаления точек / точек в конце
$regex = "/\.$/"; //to replace single dot at the end $regex = "/\.+$/"; //to replace multiple dots at the end preg_replace($regex, "", $string);
Надеюсь, это поможет вам.
Вы можете использовать функцию 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'
Используйте комбинацию 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';