Funkcje podciągów i dopełniania
Wyodrębniaj i formatuj fragmenty ciągów za pomocą substr, str_pad i wordwrap
Funkcje podciągów i dopełniania to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Wyodrębnianie części ciągów znaków
PHP udostępnia zaawansowane funkcje do wyodrębniania, skracania i dopełniania ciągów znaków. Są one niezbędne do formatowania danych wyjściowych i przetwarzania danych tekstowych.
substr()
Wyodrębnij część ciągu znaków na podstawie pozycji początkowej i opcjonalnej długości:
<?php
$str = 'Hello, World!';
echo substr($str, 7); // World!
echo substr($str, 7, 5); // World
echo substr($str, -6); // World!
echo substr($str, -6, 5); // Worldmb_substr()
W przypadku ciągów wielobajtowych (UTF-8) użyj mb_substr(), aby poprawnie wyodrębniać ich fragmenty:
<?php
$str = 'Привет Мир'; // Russian
// substr counts bytes, not characters:
echo strlen($str); // 19 bytes
// mb_substr counts characters:
echo mb_substr($str, 0, 6); // Приветstr_pad()
Dopełnij ciąg znaków do określonej długości:
<?php
// Default: right-pad with spaces
echo str_pad('5', 3, '0', STR_PAD_LEFT); // 005
echo str_pad('PHP', 10); // 'PHP '
echo str_pad('hi', 8, '-', STR_PAD_BOTH); // ---hi---
// Format invoice numbers:
echo 'INV-' . str_pad(42, 5, '0', STR_PAD_LEFT); // INV-00042wordwrap()
Zawijaj ciąg znaków przy określonej szerokości, dzieląc go na granicach słów:
<?php
$text = 'The quick brown fox jumped over the lazy dog';
echo wordwrap($text, 15, PHP_EOL, false);
// The quick brown
// fox jumped over
// the lazy dogchunk_split()
Wstawiaj ciąg separatora co N znaków — jest to przydatne podczas kodowania danych wyjściowych, na przykład do formatu base64:
<?php
$data = '1234567890ABCDEF';
echo chunk_split($data, 4, '-');
// 1234-5678-90AB-CDEF-
// Typical use: base64 encoded email attachments
$encoded = base64_encode(file_get_contents('file.bin'));
$formatted = chunk_split($encoded, 76, "\n");nl2br()
Konwertuj znaki nowego wiersza na znaczniki HTML <br> w celu wyświetlenia ich w przeglądarce:
<?php
$text = "Line one\nLine two\nLine three";
echo nl2br($text);
// Line one<br />\nLine two<br />\nLine threesprintf() dla formatowanych ciągów znaków
sprintf() formatuje ciąg znaków za pomocą symboli zastępczych — świetnie nadaje się do generowania uporządkowanych danych wyjściowych:
<?php
$name = 'Alice';
$score = 95.5;
$rank = 1;
$line = sprintf('%-10s %6.2f%% #%d', $name, $score, $rank);
echo $line;
// Alice 95.50% #1number_format()
Formatuj liczby jako ciągi znaków z separatorami tysięcy i części dziesiętnych:
<?php
$amount = 1234567.891;
echo number_format($amount); // 1,234,568
echo number_format($amount, 2); // 1,234,567.89
echo number_format($amount, 2, ',', '.'); // 1.234.567,89 (European)
echo number_format($amount, 2, '.', ''); // 1234567.89 (no separator)Skracanie ciągu znaków za pomocą wielokropka
Bezpiecznie skracaj długi tekst, dodając wielokropek na potrzeby wyświetlania:
<?php
function truncate(string $text, int $max, string $suffix = '...'): string {
if (mb_strlen($text) <= $max) return $text;
return mb_substr($text, 0, $max - mb_strlen($suffix)) . $suffix;
}
echo truncate('The quick brown fox', 15);
// The quick br...Odwracanie ciągu znaków
Odwróć ciąg znaków za pomocą strrev() (operacja na bajtach, bez obsługi znaków wielobajtowych):
<?php
echo strrev('Hello'); // olleH
echo strrev('12345'); // 54321
// Palindrome check
function isPalindrome(string $s): bool {
$s = strtolower(preg_replace('/[^a-zA-Z]/', '', $s));
return $s === strrev($s);
}
var_dump(isPalindrome('racecar')); // true
var_dump(isPalindrome('PHP')); // falsePowtarzanie i wypełnianie ciągu znaków
Twórz powtarzające się wzorce ciągów znaków na potrzeby formatowania lub dopełniania:
<?php
// Build a progress bar
function progressBar(int $percent, int $width = 20): string {
$filled = (int) round($percent / 100 * $width);
$empty = $width - $filled;
return '[' . str_repeat('#', $filled) . str_repeat('-', $empty) . "] $percent%";
}
echo progressBar(65); // [#############-------] 65%Szybkie sprawdzenie
Która funkcja wstawia znak separatora co N znaków w ciągu?
Podsumowanie: podciągi i dopełnianie
Najważniejsze funkcje:
substr($str, start, length)— wyodrębnianie na podstawie pozycjimb_substr()— bezpieczne dla znaków wielobajtowych wyodrębnianiestr_pad()— dopełnianie do określonej długościwordwrap()— zawijanie na granicach słówchunk_split()— wstawianie separatora co N znakówsprintf()— tworzenie formatowanych ciągów znaków
Często zadawane pytania
Czy lekcja „Funkcje podciągów i dopełniania” jest bezpłatna?
Tak — pełny tekst „Funkcje podciągów i dopełniania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Funkcje podciągów i dopełniania”?
Wyodrębniaj i formatuj fragmenty ciągów za pomocą substr, str_pad i wordwrap Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Funkcje podciągów i dopełniania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy napisów i konkatenacja
- Wyszukiwanie i zastępowanie w napisach
- Funkcje podciągów i dopełniania
- Dzielenie i łączenie ciągów