Php-ով կրճատեք եզրերի շուրջ բաց տարածությունը: Ինչպե՞ս հեռացնել բացատները PHP-ում տողերից: Տարածք գտնելու և փոխարինելու օրինակ

Տեքստի հետ աշխատելիս հաճախ պետք է այն ֆորմատավորել։ Սա անհրաժեշտ է ճիշտ ցուցադրման և հեշտ ընթեռնելիության համար: Սա անհրաժեշտ է, եթե օգտատերը մուտքագրում է ինչ-որ տեղեկատվություն և սխալվում է՝ մեկ բացատների փոխարեն նա նշում է երկու բացատ, իսկ սկզբում դնում է ներդիր։ PHP-ում բացատները հեռացնելու մի քանի եղանակ կա:

Կտրել ()

Trim ֆունկցիան փնտրում է լրացուցիչ նիշեր տողի սկզբում կամ վերջում: Սա:

  • կանոնավոր տարածք;
  • աղյուսակավորում;
  • տողերի ընդմիջման նիշ.

Այս ձևով գրված է.

Լարի կտրում (տող $str [, string $character_mask = "\t\n\r\0\x0B" ])

$str-ը մշակվող տողն է, իսկ $character_mask-ը լրացուցիչ նիշերն են: $character_mask-ը կամընտիր հատկանիշ է:

Preg_replace

Կանոնավոր արտահայտություն օգտագործելով նիշերի որոնման և փոխարինման գործառույթ:

Խառը preg_replace (խառը $pattern, խառը $replacement, խառը $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern - նախշը, որը դուք փնտրում եք:
  2. $replacement - փոխարինման ենթակա նիշեր:
  3. $subject - մշակվող օբյեկտ:
  4. $limit - կատարված փոխարինումների քանակը:

$pattern-ը և $replacement-ը կարող են լինել զանգվածներ: Այս դեպքում փոխարինումը կատարվում է ինդեքսներին համապատասխան։

Str_replace ()

Դուք կարող եք հեռացնել բացատները PHP-ի տողից՝ օգտագործելով str_replace() մեթոդը: Այն փոխարինում է որոնման տողի բոլոր երևույթները փոխարինող տողով:

Խառը str_replace (խառը $search, խառը $replace, խառը $subject [, int &$count ])

Օգտագործվում է որպես պարզեցված preg_replace() մեթոդ:

  1. $search - գտնելու արժեքը:
  2. $replace - փոխարինվող տողը:
  3. $subject - այն օբյեկտը, որում կատարվում է որոնումը և փոխարինումը:
  4. $count-ը սահմանում է փոխարինումների քանակը:
$bodytag = str_replace("%body%", "սև", " "); // նշանակում է՝ Hll Wrld f PHP $ձայնավորներ = զանգված ("a", "e", "i", "o", "u", "A", "E", "I", "O" ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // հանձնարարում է. Դուք պետք է ամեն օր ուտեք պիցցա, գարեջուր և պաղպաղակ $phrase = "Պետք է մրգեր ուտել: , բանջարեղեն և մանրաթել ամեն օր:"; $healthy = array("մրգեր", "բանջարեղեն", "մանրաթել"); $yummy = array("պիցցա", "գարեջուր", "պաղպաղակ"); $ newphrase = str_replace ($առողջ, $yummy, $phrase); // նշանակում է. 2 $str = str_replace("ll", "", "լավ golly miss molly!", $count); echo $count; ?>

Տարածք գտնելու և փոխարինելու օրինակ

Այս գործառույթները կիրառվում են շատ իրավիճակներում, նույնիսկ ավելի բարդ իրավիճակներում:

Օրինակ, օգտվողը մուտքագրել է որոշ տվյալներ, որոնք հետագայում կտպվեն էկրանին: Տեքստի ընթեռնելիությունն ու ընկալումը որպես ամբողջություն բարելավելու համար այս տեղեկատվությունը պետք է մշակվի՝ հեռացնել կրկնվող բացատները, դրանք փոխարինել միայնակներով:

$text1 = «Լրացուցիչ բացատներով երկար տեքստ»;

Այս դեպքում կարող եք տեսնել, որ բառերի միջև կա երկու և երեք բացատ: PHP-ում բացատները հեռացնելու կարգը հետևյալն է.

1. Սկզբում պետք է ֆունկցիայի միջոցով տողը վերածել տողերի զանգվածի:

Պայթել (“ ”, $text1)​

Մեկ տարածություն օգտագործվում է որպես սահմանազատող: Այսպիսով, մարմնի մասերը, որոնք զանգվածի առանձին տարրեր չեն, կպարունակեն մեկով պակաս տարածք:

2. Արդյունքը այսպիսի տողերի զանգված է.

$array = [«Երկար», «ծավալուն», «տեքստ», «հետ», «լրացուցիչ բացատներ»]​

3. Յուրաքանչյուր տարր մշակվում է գործառույթով.

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

Մեկ կամ մի քանի բացատներ որոնելու համար օգտագործեք կանոնավոր արտահայտությունը /\s+/: Բոլոր գտնված համընկնումները փոխարինվում են «» տողով: Որոնումն իրականացվում է $text1 փոփոխականում։

4. Արդյունքում ստանում ենք ճիշտ թվով բացատներով տող, որը հեշտությամբ ընկալվում է օգտագործողի կողմից։

Բարի երեկո, վերջերս մենք մի փոքր անդրադարձանք գաղտնաբառերի և դրանց անվտանգ պահպանման թեմային, մասնավորապես, ուսումնասիրեցինք հեշավորման գործառույթը: Այսօր մենք մի փոքր կշարունակենք գաղտնաբառերի և դրանց պահպանման թեման և կուսումնասիրենք այն գործառույթները, որոնցով կարող եք հեռացնել բացատները տողի սկզբից և վերջից. Եվ ահա գաղտնաբառերը և տողից բացատներ հեռացնելը, դու պատմիր ինձ? Նախ, այս գործառույթը, իհարկե, չի վերաբերում հատուկ գաղտնաբառերին, այլ միայն աշխատում է տողերի հետ, իսկ գաղտնաբառերի մասին ես ասացի միայն որպես դրա կիրառություն: Հետևաբար, դուք կարող եք օգտագործել այն որտեղ և երբ ցանկանում եք՝ ելնելով ձեր իրավիճակից:

Ինչի համար է դա? կտրեք բացատները տողի սկզբում և վերջում? Եթե ​​գրանցման ժամանակ դուք նշում եք գաղտնաբառ կայքում և ինչ-որ կերպ պատահաբար սեղմում եք բացատը և չեք նկատում այն, ապա ձեր գաղտնաբառը բաղկացած կլինի, օրինակ, ոչ թե չորս նիշից, այլ հինգից, ներառյալ ձեր տարածքը: Եվ դուք չեք հասկանա, թե ինչու գաղտնաբառը հարմար չէ, քանի որ այս տողի հեշը տարբեր կլինի: Հետևաբար, ես միշտ խորհուրդ եմ տալիս գծերով կտրել տարածությունները՝ նման նրբերանգներից խուսափելու համար: Այժմ մենք կանցնենք գործնականում օրինակ դիտարկելուն:

$string_pass = " 1234 " ;
$գաղտնաբառ = md5 (կտրել ($string_pass ));
$password2 = md5 ($string_pass);
արձագանք $ գաղտնաբառ;
արձագանք "
"
;
արձագանք $գաղտնաբառ2;
?>

Մենք ստեղծում ենք փոփոխական, որը կլինի մեր գաղտնաբառն, և մասնավորապես նշում ենք բացատ տողի սկզբում և վերջում: Հաջորդը, մենք ստեղծում ենք փոփոխական, որում արդեն կպահվի հեշավորված գաղտնաբառը և կանցկացնենք գիծը կրճատման գործառույթը, որը նախ կհեռացնի բոլոր ավելորդ բացատները, և միայն դրանից հետո մենք կստանանք հեշավորված գաղտնաբառը։ Իսկ երկրորդ փոփոխականում մենք չենք օգտագործում բացատները հեռացնելու և տողը անմիջապես հեշելու ֆունկցիան։ Այնուհետև մենք ցուցադրում ենք երկու արդյունքները բրաուզերի էկրանին և տեսնում ենք, որ դրանք բոլորովին տարբեր են, թեև երկու անգամ էլ օգտագործել ենք նույն տողը: Այնուամենայնիվ, բացատների պատճառով արդյունքը բոլորովին այլ է, ուստի պետք է չափազանց զգույշ լինել այս հարցում: Եվ վերջին բանը, որ ես պետք է ասեմ ձեզ. Կան ևս երկու գործառույթ, որոնք հեռացնում են տողի սկզբում կամ տողի վերջում գտնվող բացատները, և դրանք կոչվում են. ltrimԵվ rtrimհամապատասխանաբար. Հետևաբար, եթե ձեզ անհրաժեշտ է հեռացնել բացատները կողմերից որևէ մեկից, օգտագործեք դրանք: Եվ սրանով ես ավարտում եմ այս հոդվածը և մաղթում հաջողություն ձեր բոլոր աշխատանքներում։

Ցանկացած լեզվով, տողերի հետ աշխատելիս, տիպիկ խնդիր է՝ հեռացնել բացատները և՛ տողի սկզբում, և՛ վերջում: PHP-ում այս նպատակների համար կա երեք ֆունկցիա՝ ltrim(), rtrim(), trim(): « Հետաքրքիրն այն է, որ այս ֆունկցիաները, բացի բացատներից, հեռացնում են նաև նոր տողերը, փոխադրման վերադարձը, ներդիրը և զրոյական նիշերի փախուստի հաջորդականությունը:

$example = "\tԲարև բոլորին\n"; var_dump (trim ($ օրինակ)); var_dump (rtrim ($ օրինակ)); var_dump (ltrim ($ օրինակ));

Արդյունքում մենք ստանում ենք.

Տող «Hi everybody» (length=12) string «Hi everybody» (length=14) string «Hi everybody» (length=13)

Ամենահետաքրքիրն այն է, որ վերը նշված գործառույթները կարող են նաև հեռացնել օգտագործողի կողմից նշված նիշերը: Դա անելու համար վերը նշված գործառույթները որպես երկրորդ արգումենտ պետք է փոխանցեն ջնջվող նիշերը պարունակող տողը: Օրինակ:

$example = «Բարև բոլորին\n»; var_dump (trim ($ օրինակ, «y»)); var_dump (rtrim ($ օրինակ, « y\n»)); var_dump (ltrim ($ օրինակ, «yH»));

Որպես արդյունք:

Տող «Hi everybody» (length=13) string «yHi everybod» (length=13) string «i everybody» (length=12)