Jak usunąć ostatni znak tylko wtedy, gdy jest to kropka?
$string = "something here.";
$output = 'something here';
Odpowiedzi:
$output = rtrim($string, '.');
(Odniesienie: rtrim na PHP.net )
…
za to. Jeśli usuniesz ostatnią kropkę, a pozostała nadal będzie kropką, tytuł pytania nie miałby większego sensu, prawda?
użycie rtrim zastępuje wszystkie „.” na końcu, a nie tylko ostatnia postać
$string = "something here..";
echo preg_replace("/\.$/","",$string);
character_mask
w trim
zasadzie usuwa jakiekolwiek wystąpienie znaku z całego ciągu
Aby usunąć ostatni znak tylko wtedy, gdy jest to kropka i nie uciekając się do preg_replace
tego, możemy po prostu potraktować ciąg jako tablicę znaków i usunąć ostatni znak, jeśli jest to kropka.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
===
zamiast, ==
aby również sprawdzić równość typów
Wiem, że pytanie zostało rozwiązane. Ale może ta odpowiedź będzie dla kogoś pomocna.
rtrim()
- Usuń białe znaki (lub inne znaki) z końca łańcucha
ltrim()
- Usuń białe znaki (lub inne znaki) z początku ciągu
trim()
- Usuń białe znaki (lub inne znaki) z początku i końca ciągu
Aby usunąć znaki specjalne z końca ciągu lub Czy ciąg zawiera dynamiczne znaki specjalne na końcu, możemy to zrobić za pomocą wyrażenia regularnego.
preg_replace
- Wykonaj wyszukiwanie i zamień według wyrażeń regularnych
$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);
Oto przykład, aby zrozumieć, kiedy $regex = "/[.*?!@#$&-_ ]+$/";
jest stosowany do ciągu
$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
Mam nadzieję, że jest to pomocne dla Ciebie.
Dzięki :-)
Wiem, że pytanie jest co stare, ale może moja odpowiedź jest dla kogoś pomocna.
$string = "something here..........";
ltrim usunie wiodące kropki. na przykład:-ltrim($string, ".")
rtrim rtrim($string, ".")
usunie końcowe kropki.
przycinanie trim($string, ".")
usuwałoby końcowe i początkowe kropki.
możesz to również zrobić za pomocą wyrażenia regularnego
preg_replace by remove może być użyty do usunięcia kropki / kropek na końcu
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
Mam nadzieję, że jest to pomocne dla Ciebie.
Ostatni znak można usunąć na różne sposoby, oto kilka
rtrim()
$output = rtrim($string, '.');
Regular Expression
preg_replace("/\.$/", "", $string);
substr()
/ mb_substr()
echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr()
z trim()
echo substr(trim($string), 0, -1);
Użyj kombinacji strrpos i substr, aby uzyskać pozycję ostatniego znaku kropki i usunąć go, pozostawiając wszystkie inne znaki nienaruszone:
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';
Możesz użyć funkcji rtrim w php, która pozwala przyciąć dane, które istnieją na ostatniej pozycji.
Na przykład :
$trim_variable= rtrim($any_string, '.');
Najprostszy i najszybszy sposób !!
Przykład:
$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;
?>
Wynik:
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
dużo łatwiejszym…!