Supprimer les 3 premiers caractères et les 3 derniers caractères de la chaîne PHP
j'ai besoin de supprimer les 3 premières lettres d'une chaîne et les 3 dernières lettres d'une chaîne de caractères. Je sais que je peux utiliser substr() pour commencer à un certain caractère mais si j'ai besoin de rayer à la fois le premier et le dernier caractère, Je ne suis pas sûr de pouvoir réellement utiliser ceci. Toutes les suggestions?
6 réponses
passez une valeur négative comme length
argument (le 3ème argument), like:
$result = substr($string, 3, -3);
Donc:
<?
$string = "Sean Bright";
$string = substr($string, 3, -3);
echo $string;
?>
extrants:
n Bri
Utiliser
substr($var,1,-1)
ce sera toujours obtenir le premier et le dernier sans avoir à utiliser strlen.
Exemple:
<?php
$input = ",a,b,d,e,f,";
$output = substr($input, 1, -1);
echo $output;
?>
Sortie:
a,b,d,e, f
Comme indiqué dans d'autres réponses, vous pouvez utiliser l'une des fonctions suivantes pour atteindre votre objectif:
- substr ($string, 3, -3) supprime 3 caractères du début et de la fin
- trim($chaine, ",") supprime tous les caractères de début et de fin
- ltrim($chaine, ".") supprime tous les caractères spécifiques de start
- rtrim($chaine, ";") supprime tous les caractères à partir de fin
cela dépend de la quantité de caractères que vous devez enlever et si l'enlèvement doit être spécifique. Mais enfin substr()
répond parfaitement à votre question.
peut-être que quelqu'un pense à enlever le premier/dernier char à travers dereferencing string. Oubliez ça, ça ne marchera pas comme ça!--3--> est un char ainsi:
<?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;
?>
renvoie:
string(13) "Stackoverflow"
string(13) "tackoverflow"
string(13) "tackoverflow"
0
string(13) "ackoverflow"
0
Et il n'est pas possible d'utiliser unset($string[0])
pour les chaînes:
Fatal error: impossible de désactiver les offsets de chaîne dans / usr/www/***.php**
Je ne connais pas php, mais ne pouvez-vous pas prendre la longueur de la chaîne, commencer en position 3 et prendre la longueur-6 caractères en utilisant substr?