Alku- ja loppuvälilyöntien (ja muiden merkkien) poistaminen merkkijonosta PHP:ssä. Kuinka poistaa välilyönnit merkkijonoista PHP:ssä? Php poistaa välilyönnit rivin lopusta

Millä tahansa kielellä merkkijonojen kanssa työskennellessä tyypillinen tehtävä on poistaa välilyönnit sekä rivin alusta että lopusta. PHP:ssä on kolme funktiota näihin tarkoituksiin: ltrim(), rtrim(), trim(). Funktio ltrim() poistaa välilyönnit rivin alusta, rtrim() - rivin lopusta, trim() - sekä alusta että lopusta. Mielenkiintoista on, että nämä funktiot poistavat välilyöntien lisäksi myös rivinvaihto-, rivinvaihto-, sarkain- ja nollamerkkijonot.

$example = "\tHei kaikki\n"; var_dump(trim($esimerkki)); var_dump(rtrim($esimerkki)); var_dump(ltrim($esimerkki));

Tuloksena saamme:

Merkkijono "Hei kaikki" (pituus=12) merkkijono " Hei kaikki" (pituus=14) merkkijono "Hei kaikki" (pituus=13)

Mielenkiintoisinta on, että yllä olevat toiminnot voivat myös poistaa käyttäjän määrittämiä merkkejä. Tätä varten yllä olevien funktioiden on välitettävä toisena argumenttina merkkijono, joka sisältää poistettavat merkit. Esimerkiksi:

$example = "Hei kaikki\n"; var_dump(trim($esimerkki, " y")); var_dump(rtrim($esimerkki, " y\n")); var_dump(ltrim($esimerkki, " yH"));

Tuloksena:

Merkkijono "Hei kaikki" (pituus=13) merkkijono " yHi everybod" (pituus=13) merkkijono "i kaikki" (pituus=12)

Kun työskentelet tekstin kanssa, sinun on usein muotoiltava se. Tämä on välttämätöntä oikean näytön ja helpon luettavuuden kannalta. Tämä on tarpeen, jos käyttäjä syöttää tietoja ja tekee virheitä: yhden välilyönnin sijasta hän ilmoittaa kaksi välilyöntiä ja asettaa alkuun sarkaimen. PHP:ssä on useita tapoja poistaa välilyöntejä.

Trimmata()

Trim-toiminto etsii ylimääräisiä merkkejä merkkijonon alusta tai lopusta. Tämä:

  • säännöllinen tila;
  • taulukointi;
  • rivinvaihtohahmo.

Se on kirjoitettu tässä muodossa:

Merkkijonon leikkaus (merkkijono $str [, merkkijono $character_mask = "\t\n\r\0\x0B" ])

$str on käsiteltävä merkkijono ja $character_mask on ylimääräiset merkit. $character_mask on valinnainen attribuutti.

Preg_replace

Funktio merkkien etsimiseen ja korvaamiseen säännöllisen lausekkeen avulla.

Mixed preg_replace (sekoitettu $kuvio , sekalainen $korvaus , sekalainen $aihe [, int $raja = -1 [, int &$count ]])

  1. $pattern - etsimäsi kuvio.
  2. $replacement - korvattavat merkit.
  3. $subject - käsiteltävä objekti.
  4. $rajoitus - tehtyjen vaihtojen määrä.

$pattern ja $replacement voivat olla taulukoita. Tässä tapauksessa vaihto tapahtuu indeksien mukaisesti.

Str_replace()

Voit poistaa välilyönnit PHP:n merkkijonosta str_replace()-menetelmällä. Se korvaa kaikki hakumerkkijonon esiintymät korvaavalla merkkijonolla.

Mixed str_replace (sekoitettu $haku , sekalainen $korvaa , sekalainen $aihe [, int &$count ])

Käytetään yksinkertaistettuna preg_replace()-menetelmänä.

  1. $search – löydettävä arvo.
  2. $replace - korvattava merkkijono.
  3. $subject - objekti, jossa haku ja korvaaminen suoritetaan.
  4. $count määrittää vaihtojen määrän.
$bodytag = str_replace("%body%", "musta", " "); // määrittää: Hll Wrld f PHP $vokaalit = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // määrittää: Sinun pitäisi syödä pizzaa, olutta ja jäätelöä joka päivä $phrase = "Sinun pitäisi syödä hedelmiä , vihanneksia ja kuitua joka päivä."; $terve = array("hedelmät", "vihannekset", "kuitu"); $namia = array("pizza", "olut", "jäätelö"); ​​$ newphrase = str_replace($terve, $hyvä, $lause) // määrittää: 2 $str = str_replace("ll", "", "hyvä kulta neiti molly!", $count);

Esimerkki tilojen etsimisestä ja korvaamisesta

Nämä toiminnot toimivat useimmissa tilanteissa, jopa monimutkaisemmissa tilanteissa.

Käyttäjä on esimerkiksi syöttänyt tietoja, jotka tulostetaan myöhemmin näytölle. Koko tekstin luettavuuden ja käsityksen parantamiseksi nämä tiedot on käsiteltävä - poista toistuvat välilyönnit, korvaa ne yksittäisillä.

$text1 = "Pitkä teksti ylimääräisillä välilyönneillä";

Tässä tapauksessa voit nähdä, että sanojen välissä on kaksi ja kolme välilyöntiä. Välilyöntien poistaminen PHP:ssä on seuraava.

1. Ensin sinun on muutettava merkkijono merkkijonojoukoksi funktion avulla.

Explode(“ ”, $teksti1).

Erottimena käytetään yhtä välilyöntiä. Näin rungon osat, jotka eivät ole taulukon erillisiä elementtejä, sisältävät yhden vähemmän tilaa.

2. Tuloksena on seuraavanlainen joukko merkkijonoja:

$array = ["Pitkä", "tilallinen", "teksti", "kanssa", "ylimääräiset välilyönnit"]​

3. Jokainen elementti käsitellään funktiolla:

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

Voit etsiä yhtä tai useampaa välilyöntiä käyttämällä säännöllistä lauseketta /\s+/. Kaikki löydetyt osumat korvataan merkkijonolla " ". Haku suoritetaan muuttujalla $text1.

4. Tuloksena saadaan oikea määrä välilyöntejä sisältävä merkkijono, jonka käyttäjä havaitsee helposti.

Hyvää iltaa, äskettäin käsittelimme hieman salasanojen ja niiden turvallisen säilytyksen aihetta, eli tutkimme hajautustoimintoa. Tänään jatketaan hieman salasanojen ja niiden säilyttämisen aihetta ja tutkitaan toimintoja, joilla voit poista välilyönnit merkkijonon alusta ja lopusta. Ja tässä ovat salasanat ja välilyöntien poistaminen merkkijonosta, Kerro sinä minulle? Ensinnäkin tämä toiminto ei tietenkään liity erityisesti salasanoihin, vaan toimii vain merkkijonojen kanssa, ja sanoin salasanoista vain sen sovelluksena. Siksi voit käyttää sitä missä ja milloin haluat, tilanteestasi riippuen.

Mitä varten se on? leikkaa välilyönnit rivin alussa ja lopussa? Jos määrität sivustolla salasanan rekisteröityessäsi ja painat jotenkin vahingossa välilyöntiä etkä huomaa sitä, salasanasi ei koostu esimerkiksi neljästä merkistä, vaan viidestä, mukaan lukien välilyönti. Etkä ymmärrä, miksi salasana ei sovi, koska tämän merkkijonon hash on erilainen. Siksi suosittelen aina välilyöntien leikkaamista riviin tällaisten vivahteiden välttämiseksi. Nyt siirrymme tarkastelemaan esimerkkiä käytännössä.

$merkkijono_pass = " 1234 " ;
$salasana = md5(trim($string_pass ));
$salasana2 = md5($merkkijonon_salasana );
kaiku $salasana;
kaiku "
"
;
kaiku $salasana2;
?>

Luomme muuttujan, joka on salasanamme, ja osoitamme erityisesti välilyönnin rivin alussa ja lopussa. Seuraavaksi luomme muuttujan, johon tiivistetty salasana on jo tallennettu, ja siirrämme rivin läpi trimmaustoiminto, joka poistaa ensin kaikki tarpeettomat välilyönnit ja vasta sitten saamme tiivistetyn salasanan. Ja toisessa muuttujassa emme käytä funktiota välilyöntien poistamiseen ja merkkijonon välittömästi hajauttamiseen. Näytämme sitten kaksi tulosta selainnäytöllä ja näemme, että ne ovat täysin erilaisia, vaikka käytimme samaa merkkijonoa molemmilla kerroilla. Välitiloista johtuen lopputulos on kuitenkin täysin erilainen, joten sinun on oltava erittäin varovainen tämän asian kanssa. Ja viimeinen asia, joka minun pitäisi kertoa sinulle. On kaksi muuta funktiota, jotka poistavat välilyönnit rivin alusta tai rivin lopusta, ja niitä kutsutaan ltrim Ja rtrim vastaavasti. Siksi, jos sinun on poistettava välejä joltakin sivulta, käytä niitä. Ja tähän päätän tämän artikkelin ja toivotan sinulle menestystä kaikessa työssäsi.