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 ]])
- $pattern - նախշը, որը դուք փնտրում եք:
- $replacement - փոխարինման ենթակա նիշեր:
- $subject - մշակվող օբյեկտ:
- $limit - կատարված փոխարինումների քանակը:
$pattern-ը և $replacement-ը կարող են լինել զանգվածներ: Այս դեպքում փոխարինումը կատարվում է ինդեքսներին համապատասխան։
Str_replace ()
Դուք կարող եք հեռացնել բացատները PHP-ի տողից՝ օգտագործելով str_replace() մեթոդը: Այն փոխարինում է որոնման տողի բոլոր երևույթները փոխարինող տողով:
Խառը str_replace (խառը $search, խառը $replace, խառը $subject [, int &$count ])
Օգտագործվում է որպես պարզեցված preg_replace() մեթոդ:
- $search - գտնելու արժեքը:
- $replace - փոխարինվող տողը:
- $subject - այն օբյեկտը, որում կատարվում է որոնումը և փոխարինումը:
- $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)