Php shkurtoni hapësirën e bardhë rreth skajeve. Si të hiqni hapësirat nga vargjet në PHP? Shembull i gjetjes dhe zëvendësimit të hapësirave

Kur punoni me tekst, shpesh duhet ta formatoni atë. Kjo është e nevojshme për shfaqje të saktë dhe lexueshmëri të lehtë. Kjo është e nevojshme nëse përdoruesi fut disa informacione dhe bën gabime: në vend të një hapësire, ai tregon dy hapësira dhe vendos një skedë në fillim. Ka disa mënyra për të hequr hapësirat në PHP.

Shkurtim ()

Funksioni Trim kërkon karaktere shtesë në fillim ose në fund të një vargu. Kjo:

  • hapësirë ​​e rregullt;
  • tabelimi;
  • karakteri i thyerjes së linjës.

Është shkruar në këtë formë:

Prerja e vargut (vargu $str [, vargu $character_mask = "\t\n\r\0\x0B" ])

$str është vargu që përpunohet dhe $character_mask janë karakteret shtesë. $character_mask është një atribut opsional.

Preg_replace

Një funksion për kërkimin dhe zëvendësimin e karaktereve duke përdorur një shprehje të rregullt.

Preg_replace i përzier (i përzier $model , i përzier $zëvendësim , i përzier $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern - modeli që po kërkoni.
  2. $zëvendësim - karaktere për të zëvendësuar.
  3. $subject - objekti që përpunohet.
  4. $limit - numri i zëvendësimeve të bëra.

$pattern dhe $replacement mund të jenë vargje. Në këtë rast, zëvendësimi bëhet në përputhje me indekset.

Str_replace()

Ju mund të hiqni hapësirat nga një varg në PHP duke përdorur metodën str_replace(). Ai zëvendëson të gjitha dukuritë e vargut të kërkimit me vargun zëvendësues.

Str_replace i përzier (i përzier $search, i përzier $replace, i përzier $subject [, int &$count ])

Përdoret si një metodë e thjeshtuar preg_replace().

  1. $search - vlera që do të gjendet.
  2. $replace - vargu që do të zëvendësohet.
  3. $subject - objekti në të cilin kryhet kërkimi dhe zëvendësimi.
  4. $count përcakton numrin e zëvendësimeve.
$bodytag = str_replace("%body%", "e zezë", " "); // cakton: Hll Wrld f PHP $zanore = grup ("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($zanore, "", "Hello World of PHP"); // cakton: Duhet të hani pica, birrë dhe akullore çdo ditë $phrase = "Duhet të hani fruta , perime dhe fibra çdo ditë."; $healthy = array("fruta", "perime", "fibër"); $yummy = array("pica", "birrë", "akullore"); $ newphrase = str_replace($shëndet, $i shijshëm, $fraze); // cakton: 2 $str = str_replace("ll", "", "mir golly miss molly!", $count); echo $count; ?>

Shembull i gjetjes dhe zëvendësimit të hapësirave

Këto funksione zbatohen në shumicën e situatave, madje edhe në ato më komplekse.

Për shembull, përdoruesi ka futur disa të dhëna që më vonë do të printohen në ekran. Për të përmirësuar lexueshmërinë dhe perceptimin e tekstit në tërësi, ky informacion duhet të përpunohet - hiqni hapësirat e përsëritura, zëvendësoni ato me ato të vetme.

$text1 = "Tekst i gjatë me hapësira shtesë";

Në këtë rast, mund të shihni se ka dy dhe tre hapësira midis fjalëve. Procedura për heqjen e hapësirave në PHP është si më poshtë.

1. Së pari ju duhet të ktheni një varg në një grup vargjesh duke përdorur një funksion.

Shpërthejnë (“ ”, $text1)​

Një hapësirë ​​e vetme përdoret si kufizues. Në këtë mënyrë, pjesët e trupit që nuk janë elementë të veçantë të grupit do të përmbajnë një hapësirë ​​më pak.

2. Rezultati është një grup vargjesh si ky:

$array = ["I gjatë", "voluminoz", "tekst", "me", "hapësira shtesë"]​

3. Çdo element përpunohet nga një funksion:

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

Për të kërkuar një ose më shumë hapësira, përdorni shprehjen e rregullt /\s+/. Të gjitha ndeshjet e gjetura zëvendësohen me vargun " ". Kërkimi kryhet në variablin $text1.

4. Si rezultat, marrim një varg me numrin e saktë të hapësirave, i cili perceptohet lehtësisht nga përdoruesi.

Mirëmbrëma, kohët e fundit kemi prekur pak temën e fjalëkalimeve dhe ruajtjen e tyre të sigurt, përkatësisht, kemi studiuar funksionin hash. Sot do të vazhdojmë pak temën e fjalëkalimeve dhe ruajtjen e tyre dhe do të studiojmë funksionet me të cilat mundeni hiqni hapësirat nga fillimi dhe fundi i një vargu. Dhe këtu janë fjalëkalimet dhe heqja e hapësirave nga një varg, me thuaj? Së pari, ky funksion, natyrisht, nuk ka të bëjë posaçërisht me fjalëkalimet, por funksionon vetëm me vargje, dhe unë thashë për fjalëkalimet vetëm si aplikimin e tij. Prandaj, mund ta përdorni kudo dhe kurdo që dëshironi, bazuar në situatën tuaj.

Për çfarë është? shkurtoni hapësirat në fillim dhe në fund të rreshtit? Nëse specifikoni një fjalëkalim në sit kur regjistroheni dhe disi shtypni aksidentalisht shiritin e hapësirës dhe nuk e vini re atë, atëherë fjalëkalimi juaj do të përbëhet, për shembull, jo nga katër karaktere, por nga pesë, duke përfshirë hapësirën tuaj. Dhe nuk do ta kuptoni pse fjalëkalimi nuk është i përshtatshëm, sepse hash-i i këtij vargu do të jetë i ndryshëm. Prandaj, unë rekomandoj gjithmonë shkurtimin e hapësirave në një vijë për të shmangur nuanca të tilla. Tani do të vazhdojmë të shqyrtojmë një shembull në praktikë.

$string_pass = " 1234 " ;
$fjalëkalim = md5(trim($string_pass ));
$password2 = md5($string_pass);
jehonë $fjalëkalim;
jehonë "
"
;
jehonë $fjalëkalim2;
?>

Ne krijojmë një variabël që do të jetë fjalëkalimi ynë, dhe specifikisht tregojmë një hapësirë ​​në fillim dhe në fund të rreshtit. Më pas, ne krijojmë një variabël në të cilin fjalëkalimi i hash do të ruhet tashmë dhe do ta kalojmë rreshtin funksioni i shkurtimit, i cili fillimisht do të heqë të gjitha hapësirat e panevojshme dhe vetëm atëherë do të marrim fjalëkalimin e hashuar. Dhe në variablin e dytë nuk e përdorim funksionin për të hequr hapësirat dhe për të hash menjëherë vargun. Më pas shfaqim dy rezultatet në ekranin e shfletuesit dhe shohim se ato janë krejtësisht të ndryshme, edhe pse kemi përdorur të njëjtin varg të dyja herë. Megjithatë, për shkak të hapësirave, rezultati është krejtësisht i ndryshëm, ndaj duhet të jeni jashtëzakonisht të kujdesshëm me këtë çështje. Dhe një gjë të fundit duhet t'ju them. Ka edhe dy funksione të tjera që heqin hapësirat në fillim të një rreshti ose në fund të një rreshti dhe ato quhen ltrim Dhe rtrim përkatësisht. Prandaj, nëse keni nevojë të hiqni hapësirat nga ndonjëra anë, përdorni ato. Dhe me këtë e mbyll këtë artikull dhe ju uroj suksese në të gjithë punën tuaj.

Në çdo gjuhë, kur punoni me vargje, një detyrë tipike është heqja e hapësirave si në fillim ashtu edhe në fund të rreshtit. Në PHP ekzistojnë tre funksione për këto qëllime: ltrim(), rtrim(), trim(). Funksioni ltrim() heq hapësirat në fillim të rreshtit, rtrim() - në fund të rreshtit, trim() - si në fillim ashtu edhe në fund. Ajo që është interesante është se këto funksione, përveç hapësirave, heqin edhe sekuencat e linjës së re, të kthimit të karrocave, skedës dhe të ikjes së karaktereve null.

$example = "\tPërshëndetje të gjithëve\n"; var_dump(trim($shembull)); var_dump(rtrim($shembull)); var_dump(ltrim($shembull));

Si rezultat marrim:

Vargu "Përshëndetje të gjithëve" (gjatësia=12) vargu "Përshëndetje të gjithëve" (gjatësia=14) vargu "Përshëndetje të gjithëve" (gjatësia=13)

Ajo që është më interesante është se funksionet e mësipërme mund të heqin gjithashtu karakteret e specifikuara nga përdoruesi. Për ta bërë këtë, funksionet e mësipërme duhet të kalojnë si argument të dytë një varg që përmban karakteret që do të fshihen. Për shembull:

$example = "Përshëndetje të gjithëve\n"; var_dump(trim($shembull, "y")); var_dump(rtrim($shembull, " y\n")); var_dump(ltrim($shembull, " yH"));

Si rezultat:

Vargu "Përshëndetje të gjithëve " (gjatësia=13) vargu " yHi gjithëve" (gjatësia=13) vargu "i të gjithëve" (gjatësia=12)