Як видалити останній символ, лише якщо це крапка?
$string = "something here.";
$output = 'something here';
Відповіді:
$output = rtrim($string, '.');
(Довідка: rtrim на PHP.net )
…для цього. Якщо ви видалите останню крапку, а решта все ще є крапкою, заголовок питання не матиме особливого сенсу, чи не так?
використання rtrim замінює всі "." наприкінці, не лише останнього персонажа
$string = "something here..";
echo preg_replace("/\.$/","",$string);
character_maskв 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($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набагато простіше ...!