Muszę usunąć pierwsze 3 litery ciągu i 3 ostatnie litery ciągu. Wiem, że mogę użyć substr(), aby zacząć od pewnej postaci, ale jeśli potrzebuję usunąć zarówno pierwszą, jak i ostatnią postać, nie jestem pewien, czy rzeczywiście mogę tego użyć. Jakieś sugestie?Usuń pierwsze 3 znaki i ostatnie 3 znaki z String PHP
Odpowiedz
zdać ujemną wartość jako length
argumentu (3rd argumentu), takich jak:
$result = substr($string, 3, -3);
więc to:
<?
$string = "Sean Bright";
$string = substr($string, 3, -3);
echo $string;
?>
Wyjścia:
n Bri
Nie wiem php, ale czy nie możesz wziąć długości napisu, zacząć jako pozycję 3 i wziąć długość-6 znaków używając substr?
$myString='123456789';
$newString=substr($myString,3,-3);
Nie wiedziałem, że substr zaakceptował trzeci parametr! dzięki! –
substr($string, 3, strlen($string) - 6)
Zastosowanie
substr($var,1,-1)
to zawsze będzie pierwszy i ostatni, bez konieczności korzystania z strlen.
przykład:
<?php
$input = ",a,b,d,e,f,";
$output = substr($input, 1, -1);
echo $output;
?>
wyjściowa:
A, B, D, E, F
Jest to znacznie bardziej uniwersalna odpowiedź niż akceptowana, jednak zaakceptowana odpowiedź spełnia wymagany 3-znakowy problem. –
Jak podano w innych odpowiedzi można zastosować jedną z następujących funkcje umożliwiające osiągnięcie celu:
- substr($string, 3, -3) usuwa 3 znaki z początku i końca
- trim($string, ",") usuwa wszelkie szczególne znaki z początku i końca
- ltrim($string, ".") usuwa wszelkie szczególne znaki od początku
- rtrim($string, ";") usuwa wszelkie szczególne znaki od końca
to zależy o ilości znaków, które należy usunąć i czy usunięcie musi być specyficzne. Ale ostatecznie substr()
idealnie odpowiada na twoje pytanie.
Może ktoś myśli o usunięciu pierwszego/ostatniego znaku przez string dereferencing.Zapominać, że to nie będzie działać jako null
jest char, a także:
<?php
$string = 'Stackoverflow';
var_dump($string);
$string[0] = null;
var_dump($string);
$string[0] = null;
var_dump($string);
echo ord($string[0]) . PHP_EOL;
$string[1] = '';
var_dump($string);
echo ord($string[1]) . PHP_EOL;
?>
powraca:
string(13) "Stackoverflow"
string(13) "tackoverflow"
string(13) "tackoverflow"
0
string(13) "ackoverflow"
0
I to nie jest możliwe użycie unset($string[0])
ciągów:
krytyczny błąd: Nie można usunąć przesunięć ciągu znaków w /usr/www/***.php na linii **
- 1. Jak usunąć pierwsze 3 znaki z nsstring?
- 2. Podłoża T-SQL - ostatnie 3 znaki
- 3. Pobierz ostatnie 3 znaki ciągu znaków
- 4. Android: TextView automatycznie obcina i zastępuje ostatnie 3 znaki ciągu
- 5. Bootstrap 3 + znaki proste_formularz
- 6. Usunąć pierwsze 3 znaki w pliku wsadowym var?
- 7. Java: Usuń dziwne znaki specjalne ze String
- 8. Usuń ostatnie 3 litery napisu w Django szablonu [: -3]
- 9. Usunąć dwa ostatnie znaki ciągu
- 10. Ukryj pierwsze znaki x
- 11. Pobierz ostatnie 4 znaki ciąg
- 12. usuń określone znaki z NSString
- 13. Regex usuń znaki specjalne
- 14. Usuń znaki specjalne z ciągiem
- 15. Usuń wszystkie znaki nieelegatywne z tablicy String w java
- 16. Usuń niedrukowalne znaki UTF oprócz controlchars z String
- 17. Usuń znaki spoza ASCII z String w Javie
- 18. Jak mogę używać LEWEJ i PRAWIDŁOWEJ funkcji w SQL, aby uzyskać 3 ostatnie znaki?
- 19. Przyciąć ostatnie 4 znaki z ciągu?
- 20. Pobierz ostatnie trzy znaki z dowolnego ciągu znaków - Java
- 21. wybierz ostatnie 3 dziecko
- 22. C# Usuń nieprawidłowe znaki z nazwy pliku
- 23. wyrażenie regularne: wypakuj ostatnie 2 znaki
- 24. Usuń pliki, gdy pierwsze dwa znaki są ZZ
- 25. Wyodrębnij pierwsze 2 znaki w ciągu znaków
- 26. Usuń wszystkie znaki z wyjątkiem alfanumerycznych i spacje z javascript
- 27. Jak odzyskać 4 ostatnie znaki z pola bazy danych mysql?
- 28. cel-c uzyskać ostatnie 2 znaki ciągu?
- 29. Jak zdobyć ostatnie 4 znaki ciągu?
- 30. XSLT - usuń białe znaki z szablonu
Cóż, jeśli robię substr, to tak naprawdę nie usuwa znaków. Jeśli wykonam substr ($ var, 3), rozpocznie się on na trzeciej pozycji. Następnie, jeśli zrobię substr ($ var, -3), nadal będzie on zawierał pierwsze 3 znaki w ciągu znaków i wcześniej skończy 3 znaki. Potrzebuję go do całkowitego usunięcia postaci. –
@Howdy_McGee zobacz odpowiedzi Seana Brighta i Jonathana M. –
Wygląda na to, że Sean Bright dostarczył odpowiedź. lub czy chciałeś usunąć znaki z oryginalnego napisu? Wiem, że to nie jest technicznie to samo, ale możesz zastąpić oryginalną zmienną tym, co zwraca substr. –