Php trim mellomrom rundt kantene. Hvordan fjerne mellomrom fra strenger i PHP? Eksempel på å finne og erstatte mellomrom

Når du jobber med tekst må du ofte formatere den. Dette er nødvendig for korrekt visning og enkel lesbarhet. Dette er nødvendig hvis brukeren legger inn informasjon og gjør feil: i stedet for ett mellomrom, angir han to mellomrom, og setter en tabulator i begynnelsen. Det er flere måter å fjerne mellomrom i PHP.

Listverk()

Trim-funksjonen ser etter ekstra tegn på begynnelsen eller slutten av en streng. Dette:

  • vanlig plass;
  • tabulering;
  • linjeskift karakter.

Det er skrevet i denne formen:

String trim (streng $str [, streng $character_mask = "\t\n\r\0\x0B" ])

$str er strengen som behandles, og $character_mask er ekstrategnene. $character_mask er et valgfritt attributt.

Preg_erstatt

En funksjon for å søke og erstatte tegn ved hjelp av et regulært uttrykk.

Blandet preg_replace (blandet $pattern, blandet $replacement, blandet $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern - mønsteret du leter etter.
  2. $replacement - tegn som skal erstattes.
  3. $subject - objektet som behandles.
  4. $limit - antall utskiftninger gjort.

$pattern og $replacement kan være matriser. I dette tilfellet gjøres utskifting i samsvar med indeksene.

Str_replace()

Du kan fjerne mellomrom fra en streng i PHP ved å bruke str_replace()-metoden. Den erstatter alle forekomster av søkestrengen med erstatningsstrengen.

Blandet str_replace (blandet $search , blandet $replace , blandet $subject [, int &$count ])

Brukes som en forenklet preg_replace()-metode.

  1. $search - verdien som skal finnes.
  2. $replace - strengen som skal erstattes.
  3. $subject - objektet der søk og erstatning utføres.
  4. $count angir antall erstatninger.
$bodytag = str_replace("%body%", "black", " "); // tildeler: Hll Wrld f PHP $vokaler = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vokaler, "", "Hello World of PHP"); // tildeler: Du bør spise pizza, øl og is hver dag $phrase = "Du bør spise frukt , grønnsaker og fiber hver dag."; $healthy = array("frukt", "grønnsaker", "fiber"); $yummy = array("pizza", "øl", "is"); ​​$ newphrase = str_replace($healthy, $yummy, $phrase); // tildeler: 2 $str = str_replace("ll", "", "good golly miss molly!", $count); echo $count; ?>

Eksempel på å finne og erstatte mellomrom

Disse funksjonene gjelder i de fleste situasjoner, enda mer komplekse.

For eksempel har brukeren lagt inn noen data som senere skal skrives ut på skjermen. For å forbedre lesbarheten og oppfatningen av teksten som helhet, må denne informasjonen behandles - fjern gjentatte mellomrom, erstatt dem med enkeltrom.

$text1 = "Lang tekst med ekstra mellomrom";

I dette tilfellet kan du se at det er to og tre mellomrom mellom ordene. Prosedyren for å fjerne mellomrom i PHP er som følger.

1. Først må du gjøre om en streng til en rekke strenger ved hjelp av en funksjon.

Explode(“ ”, $tekst1)​

Et enkelt mellomrom brukes som skilletegn. På denne måten vil kroppsdeler som ikke er separate elementer i arrayet inneholde en plass mindre.

2. Resultatet er en rekke strenger som dette:

$array = ["Lang", "voluminøs", "tekst", "med", "ekstra mellomrom"]​

3. Hvert element behandles av en funksjon:

Preg_replace("/\s+/", " ", $text1)​

For å søke etter ett eller flere mellomrom, bruk det regulære uttrykket /\s+/. Alle treff erstattes med strengen ' '. Søket utføres i $text1-variabelen.

4. Som et resultat får vi en streng med riktig antall mellomrom, som lett oppfattes av brukeren.

God kveld, nylig kom vi inn på temaet passord og deres sikre lagring, nemlig vi studerte hashing-funksjonen. I dag vil vi fortsette temaet passord og lagring av dem litt, og vi vil studere funksjonene du kan fjern mellomrom fra begynnelsen og slutten av en streng. Og her er passordene og fjerne mellomrom fra en streng, Fortell meg? For det første forholder denne funksjonen seg selvfølgelig ikke spesifikt til passord, men fungerer bare med strenger, og jeg sa om passord bare som applikasjonen. Derfor kan du bruke den hvor og når du vil, basert på din situasjon.

Hva er den til? trim mellomrom på begynnelsen og slutten av linjen? Hvis du angir et passord på nettstedet når du registrerer deg og på en eller annen måte ved et uhell trykker på mellomromstasten og ikke legger merke til det, vil passordet ditt for eksempel ikke bestå av fire tegn, men av fem, inkludert mellomrommet ditt. Og du vil ikke forstå hvorfor passordet ikke er egnet, fordi hashen til denne strengen vil være annerledes. Derfor anbefaler jeg alltid å trimme mellomrom i en linje for å unngå slike nyanser. Nå skal vi gå videre til å vurdere et eksempel i praksis.

$string_pass = " 1234 " ;
$password = md5(trim($string_pass ));
$password2 = md5($string_pass );
ekko $password;
ekko "
"
;
ekko $password2;
?>

Vi lager en variabel som vil være passordet vårt, og spesifikt indikerer et mellomrom på begynnelsen og slutten av linjen. Deretter lager vi en variabel der det hash-kodede passordet allerede vil være lagret, og sender linjen gjennom trimfunksjon, som først vil fjerne alle unødvendige mellomrom, og først da får vi det hashed-passordet. Og i den andre variabelen bruker vi ikke funksjonen til å fjerne mellomrom og hash strengen umiddelbart. Vi viser deretter de to resultatene på nettleserskjermen og ser at de er helt forskjellige, selv om vi brukte samme streng begge gangene. Men på grunn av mellomrommene er resultatet helt annerledes, så du må være ekstremt forsiktig med denne saken. Og en siste ting jeg bør fortelle deg. Det er to funksjoner til som fjerner mellomrom på begynnelsen av en linje, eller på slutten av en linje, og de kalles ltrim Og rtrim hhv. Derfor, hvis du trenger å fjerne mellomrom fra noen av sidene, bruk dem. Og med dette avslutter jeg denne artikkelen og ønsker deg suksess i alt arbeidet ditt.

På alle språk, når du arbeider med strenger, er en typisk oppgave å fjerne mellomrom både på begynnelsen og slutten av linjen. I PHP er det tre funksjoner for disse formålene: ltrim(), rtrim(), trim(). Funksjonen ltrim() fjerner mellomrom på begynnelsen av en linje, rtrim() - på slutten av en linje, trim() - både på begynnelsen og slutten. Det som er interessant er at disse funksjonene, i tillegg til mellomrom, også fjerner escape-sekvensene for nylinje, vognretur, tabulator og nulltegn.

$example = "\tHei alle sammen\n"; var_dump(trim($eksempel)); var_dump(rtrim($eksempel)); var_dump(ltrim($eksempel));

Som et resultat får vi:

String "Hei alle sammen" (lengde=12) streng "Hei alle sammen" (lengde=14) streng "Hei alle sammen" (lengde=13)

Det som er mest interessant er at funksjonene ovenfor også kan fjerne brukerspesifiserte tegn. For å gjøre dette, må funksjonene ovenfor sende som det andre argumentet en streng som inneholder tegnene som skal slettes. For eksempel:

$example = "Hei alle sammen\n"; var_dump(trim($eksempel, "y")); var_dump(rtrim($eksempel, "y\n")); var_dump(ltrim($eksempel, " yH"));

Som et resultat:

String "Hi everybody " (length=13) string " yHi everybod" (length=13) string "i everybody " (length=12)