نسخه:

رشته های

معرفی

لاراول شامل انواع توابع برای دستکاری مقادیر رشته است. بسیاری از این توابع توسط خود چارچوب استفاده می شود. با این حال، شما آزاد هستید که از آنها در برنامه های کاربردی خود استفاده کنید اگر آنها را راحت می دانید.

روش های موجود

رشته های

رشته های روان

رشته های

__()

تابع __ ، رشته ترجمه یا کلید ترجمه داده شده را با استفاده از فایل های زبان شما ترجمه می کند :

echo __('Welcome to our application');
 
echo __('messages.welcome');

اگر رشته یا کلید ترجمه مشخص شده وجود نداشته باشد، __ تابع مقدار داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا، اگر کلید ترجمه وجود نداشته باشد، __ تابع برمی گردد . messages.welcome

class_basename()

تابع class_basename نام کلاس کلاس داده شده را با حذف فضای نام کلاس برمی گرداند:

$class = class_basename('Foo\Bar\Baz');
 
// Baz

e()

این e تابع تابع PHP را htmlspecialchars با double_encode گزینه ای که به صورت پیش فرض تنظیم شده است اجرا می کند true :

echo e('<html>foo</html>');
 
// &lt;html&gt;foo&lt;/html&gt;

preg_replace_array()

تابع preg_replace_array با استفاده از یک آرایه به صورت متوالی یک الگوی داده شده را در رشته جایگزین می کند:

$string = 'The event will take place between :start and :end';
 
$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);
 
// The event will take place between 8:30 and 9:00

Str::after()

متد Str::after همه چیز را بعد از مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::after('This is my name', 'This is');
 
// ' my name'

Str::afterLast()

متد Str::afterLast همه چیز را پس از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::afterLast('App\Http\Controllers\Controller', '\\');
 
// 'Controller'

Str::apa()

این روش رشته داده شده را با توجه به دستورالعمل های APA Str::apa به عنوان مورد تبدیل می کند :

use Illuminate\Support\Str;
 
$title = Str::apa('Creating A Project');
 
// 'Creating a Project'

Str::ascii()

این Str::ascii روش تلاش خواهد کرد تا رشته را به یک مقدار ASCII تبدیل کند:

use Illuminate\Support\Str;
 
$slice = Str::ascii('û');
 
// 'u'

Str::before()

متد Str::before همه چیز را قبل از مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::before('This is my name', 'my name');
 
// 'This is '

Str::beforeLast()

متد Str::beforeLast همه چیز را قبل از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::beforeLast('This is my name', 'is');
 
// 'This '

Str::between()

متد Str::between بخشی از یک رشته را بین دو مقدار برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::between('This is my name', 'This', 'name');
 
// ' is my '

Str::betweenFirst()

این Str::betweenFirst متد کوچکترین بخش ممکن از یک رشته را بین دو مقدار برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::betweenFirst('[a] bc [d]', '[', ']');
 
// 'a'

Str::camel()

متد Str::camel رشته داده شده را به camelCase :

use Illuminate\Support\Str;
 
$converted = Str::camel('foo_bar');
 
// 'fooBar'

Str::charAt()

متد Str::charAt کاراکتر را در شاخص مشخص شده برمی گرداند. اگر شاخص خارج از محدوده باشد، false برگردانده می شود:

use Illuminate\Support\Str;
 
$character = Str::charAt('This is my name.', 6);
 
// 's'

Str::contains()

متد Str::contains تعیین می کند که آیا رشته داده شده حاوی مقدار داده شده است یا خیر. این روش به حروف کوچک و بزرگ حساس است:

use Illuminate\Support\Str;
 
$contains = Str::contains('This is my name', 'my');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را ارسال کنید تا تعیین کنید آیا رشته داده شده حاوی هر یک از مقادیر آرایه است یا خیر:

use Illuminate\Support\Str;
 
$contains = Str::contains('This is my name', ['my', 'foo']);
 
// true

Str::containsAll()

متد Str::containsAll تعیین می کند که آیا رشته داده شده حاوی تمام مقادیر یک آرایه معین است یا خیر:

use Illuminate\Support\Str;
 
$containsAll = Str::containsAll('This is my name', ['my', 'name']);
 
// true

Str::endsWith()

متد Str::endsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده به پایان می رسد:

use Illuminate\Support\Str;
 
$result = Str::endsWith('This is my name', 'name');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را ارسال کنید تا مشخص کنید که آیا رشته داده شده به هر یک از مقادیر آرایه ختم می‌شود یا خیر:

use Illuminate\Support\Str;
 
$result = Str::endsWith('This is my name', ['name', 'foo']);
 
// true
 
$result = Str::endsWith('This is my name', ['this', 'foo']);
 
// false

Str::excerpt()

این Str::excerpt روش یک گزیده از یک رشته داده شده را استخراج می کند که با اولین نمونه از یک عبارت در آن رشته مطابقت دارد:

use Illuminate\Support\Str;
 
$excerpt = Str::excerpt('This is my name', 'my', [
'radius' => 3
]);
 
// '...is my na...'

گزینه ای radius که به طور پیش فرض روی است 100 ، به شما امکان می دهد تعداد کاراکترهایی را که باید در هر طرف رشته کوتاه شده ظاهر شوند، تعیین کنید.

علاوه بر این، می‌توانید از این omission گزینه برای تعریف رشته‌ای استفاده کنید که از قبل به رشته کوتاه شده اضافه می‌شود:

use Illuminate\Support\Str;
 
$excerpt = Str::excerpt('This is my name', 'name', [
'radius' => 3,
'omission' => '(...) '
]);
 
// '(...) my name'

Str::finish()

این Str::finish متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر قبلاً به آن مقدار ختم نشده باشد:

use Illuminate\Support\Str;
 
$adjusted = Str::finish('this/string', '/');
 
// this/string/
 
$adjusted = Str::finish('this/string/', '/');
 
// this/string/

Str::headline()

این Str::headline روش رشته‌هایی را که با حروف، خط تیره یا زیرخط مشخص شده‌اند، به رشته‌ای با فاصله با حروف اول هر کلمه تبدیل می‌کند:

use Illuminate\Support\Str;
 
$headline = Str::headline('steve_jobs');
 
// Steve Jobs
 
$headline = Str::headline('EmailNotificationSent');
 
// Email Notification Sent

Str::inlineMarkdown()

این روش Markdown با طعم GitHub را با استفاده از CommonMark Str::inlineMarkdown به HTML درون خطی تبدیل می کند . با این حال، بر خلاف روش، تمام HTML تولید شده را در یک عنصر در سطح بلوک قرار نمی دهد: markdown

use Illuminate\Support\Str;
 
$html = Str::inlineMarkdown('**Laravel**');
 
// <strong>Laravel</strong>

امنیت Markdown

به طور پیش‌فرض، Markdown از HTML خام پشتیبانی می‌کند، که در صورت استفاده با ورودی خام کاربر، آسیب‌پذیری‌های Cross-Site Scripting (XSS) را آشکار می‌کند. طبق مستندات CommonMark Security ، می‌توانید از html_input گزینه فرار یا حذف HTML خام و allow_unsafe_links گزینه‌ای برای تعیین اجازه دادن به پیوندهای ناامن استفاده کنید. اگر نیاز به اجازه دادن مقداری HTML خام دارید، باید Markdown کامپایل شده خود را از طریق یک HTML Purifier عبور دهید:

use Illuminate\Support\Str;
 
Str::inlineMarkdown('Inject: <script>alert("Hello XSS!");</script>', [
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
 
// Inject: alert(&quot;Hello XSS!&quot;);

Str::is()

این Str::is روش تعیین می کند که آیا یک رشته داده شده با یک الگوی داده شده مطابقت دارد یا خیر. ستاره ها ممکن است به عنوان مقادیر عام استفاده شوند:

use Illuminate\Support\Str;
 
$matches = Str::is('foo*', 'foobar');
 
// true
 
$matches = Str::is('baz*', 'foobar');
 
// false

Str::isAscii()

این Str::isAscii روش تعیین می کند که آیا یک رشته داده شده ASCII 7 بیتی است یا خیر:

use Illuminate\Support\Str;
 
$isAscii = Str::isAscii('Taylor');
 
// true
 
$isAscii = Str::isAscii('ü');
 
// false

Str::isJson()

متد Str::isJson تعیین می کند که آیا رشته داده شده JSON معتبر است یا خیر:

use Illuminate\Support\Str;
 
$result = Str::isJson('[1,2,3]');
 
// true
 
$result = Str::isJson('{"first": "John", "last": "Doe"}');
 
// true
 
$result = Str::isJson('{first: "John", last: "Doe"}');
 
// false

Str::isUrl()

این Str::isUrl روش تعیین می کند که آیا رشته داده شده یک URL معتبر است یا خیر:

use Illuminate\Support\Str;
 
$isUrl = Str::isUrl('http://example.com');
 
// true
 
$isUrl = Str::isUrl('laravel');
 
// false

این isUrl روش طیف وسیعی از پروتکل ها را معتبر در نظر می گیرد. با این حال، می‌توانید پروتکل‌هایی را که باید معتبر در نظر گرفته شوند، با ارائه آنها به isUrl روش مشخص کنید:

$isUrl = Str::isUrl('http://example.com', ['http', 'https']);

Str::isUlid()

متد Str::isUlid تعیین می کند که آیا رشته داده شده یک ULID معتبر است یا خیر:

use Illuminate\Support\Str;
 
$isUlid = Str::isUlid('01gd6r360bp37zj17nxb55yv40');
 
// true
 
$isUlid = Str::isUlid('laravel');
 
// false

Str::isUuid()

این Str::isUuid روش تعیین می کند که آیا رشته داده شده یک UUID معتبر است یا خیر:

use Illuminate\Support\Str;
 
$isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de');
 
// true
 
$isUuid = Str::isUuid('laravel');
 
// false

Str::kebab()

متد Str::kebab رشته داده شده را به kebab-case :

use Illuminate\Support\Str;
 
$converted = Str::kebab('fooBar');
 
// foo-bar

Str::lcfirst()

متد Str::lcfirst رشته داده شده را با اولین کاراکتر کوچک برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::lcfirst('Foo Bar');
 
// foo Bar

Str::length()

متد Str::length طول رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$length = Str::length('Laravel');
 
// 7

Str::limit()

متد Str::limit رشته داده شده را به طول مشخص شده کوتاه می کند:

use Illuminate\Support\Str;
 
$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);
 
// The quick brown fox...

برای تغییر رشته ای که به انتهای رشته کوتاه شده اضافه می شود، می توانید آرگومان سومی را به متد ارسال کنید:

use Illuminate\Support\Str;
 
$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');
 
// The quick brown fox (...)

Str::lower()

متد Str::lower رشته داده شده را به حروف کوچک تبدیل می کند:

use Illuminate\Support\Str;
 
$converted = Str::lower('LARAVEL');
 
// laravel

Str::markdown()

این روش Markdown با طعم GitHub را با استفاده از CommonMark Str::markdown به HTML تبدیل می کند :

use Illuminate\Support\Str;
 
$html = Str::markdown('# Laravel');
 
// <h1>Laravel</h1>
 
$html = Str::markdown('# Taylor <b>Otwell</b>', [
'html_input' => 'strip',
]);
 
// <h1>Taylor Otwell</h1>

امنیت Markdown

به طور پیش‌فرض، Markdown از HTML خام پشتیبانی می‌کند، که در صورت استفاده با ورودی خام کاربر، آسیب‌پذیری‌های Cross-Site Scripting (XSS) را آشکار می‌کند. طبق مستندات CommonMark Security ، می‌توانید از html_input گزینه فرار یا حذف HTML خام و allow_unsafe_links گزینه‌ای برای تعیین اجازه دادن به پیوندهای ناامن استفاده کنید. اگر نیاز به اجازه دادن مقداری HTML خام دارید، باید Markdown کامپایل شده خود را از طریق یک HTML Purifier عبور دهید:

use Illuminate\Support\Str;
 
Str::markdown('Inject: <script>alert("Hello XSS!");</script>', [
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
 
// <p>Inject: alert(&quot;Hello XSS!&quot;);</p>

Str::mask()

این Str::mask روش بخشی از یک رشته را با یک کاراکتر تکراری ماسک می کند و ممکن است برای مبهم کردن بخش هایی از رشته ها مانند آدرس ایمیل و شماره تلفن استفاده شود:

use Illuminate\Support\Str;
 
$string = Str::mask('taylor@example.com', '*', 3);
 
// tay***************

در صورت نیاز، یک عدد منفی به عنوان آرگومان سوم به mask متد ارائه می‌دهید که به متد دستور می‌دهد تا در فاصله مشخص شده از انتهای رشته، ماسک کردن را آغاز کند:

$string = Str::mask('taylor@example.com', '*', -15, 3);
 
// tay***@example.com

Str::orderedUuid()

این Str::orderedUuid روش یک UUID "مهر زمانی" تولید می کند که ممکن است به طور موثر در یک ستون پایگاه داده نمایه شده ذخیره شود. هر UUID که با استفاده از این روش تولید می‌شود، پس از UUID‌هایی که قبلاً با استفاده از روش ایجاد شده‌اند مرتب می‌شوند:

use Illuminate\Support\Str;
 
return (string) Str::orderedUuid();

Str::padBoth()

این Str::padBoth روش تابع PHP را بسته بندی می کند str_pad و هر دو طرف یک رشته را با یک رشته دیگر اضافه می کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::padBoth('James', 10, '_');
 
// '__James___'
 
$padded = Str::padBoth('James', 10);
 
// ' James '

Str::padLeft()

این Str::padLeft روش تابع PHP را پیچیده می‌کند str_pad و سمت چپ یک رشته را با یک رشته دیگر اضافه می‌کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::padLeft('James', 10, '-=');
 
// '-=-=-James'
 
$padded = Str::padLeft('James', 10);
 
// ' James'

Str::padRight()

این Str::padRight روش تابع PHP را پیچیده می‌کند str_pad و سمت راست یک رشته را با یک رشته دیگر اضافه می‌کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::padRight('James', 10, '-');
 
// 'James-----'
 
$padded = Str::padRight('James', 10);
 
// 'James '

Str::password()

این Str::password روش ممکن است برای ایجاد یک رمز عبور امن و تصادفی با طول معین استفاده شود. رمز عبور از ترکیبی از حروف، اعداد، نمادها و فاصله تشکیل شده است. به طور پیش فرض، گذرواژه ها 32 کاراکتر هستند:

use Illuminate\Support\Str;
 
$password = Str::password();
 
// 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4'
 
$password = Str::password(12);
 
// 'qwuar>#V|i]N'

Str::plural()

این Str::plural روش یک رشته کلمه مفرد را به شکل جمع آن تبدیل می کند. این تابع از هر یک از زبان های پشتیبانی شده توسط پلورالیزر لاراول پشتیبانی می کند :

use Illuminate\Support\Str;
 
$plural = Str::plural('car');
 
// cars
 
$plural = Str::plural('child');
 
// children

می توانید یک عدد صحیح به عنوان آرگومان دوم برای تابع برای بازیابی شکل مفرد یا جمع رشته ارائه دهید:

use Illuminate\Support\Str;
 
$plural = Str::plural('child', 2);
 
// children
 
$singular = Str::plural('child', 1);
 
// child

Str::pluralStudly()

این Str::pluralStudly روش یک رشته کلمه مفرد را که با حروف studly caps قالب بندی شده است به شکل جمع آن تبدیل می کند. این تابع از هر یک از زبان های پشتیبانی شده توسط پلورالیزر لاراول پشتیبانی می کند :

use Illuminate\Support\Str;
 
$plural = Str::pluralStudly('VerifiedHuman');
 
// VerifiedHumans
 
$plural = Str::pluralStudly('UserFeedback');
 
// UserFeedback

می توانید یک عدد صحیح به عنوان آرگومان دوم برای تابع برای بازیابی شکل مفرد یا جمع رشته ارائه دهید:

use Illuminate\Support\Str;
 
$plural = Str::pluralStudly('VerifiedHuman', 2);
 
// VerifiedHumans
 
$singular = Str::pluralStudly('VerifiedHuman', 1);
 
// VerifiedHuman

Str::position()

این Str::position روش موقعیت اولین وقوع یک زیررشته را در یک رشته برمی گرداند. اگر رشته فرعی در رشته داده شده وجود نداشته باشد، false برگردانده می شود:

use Illuminate\Support\Str;
 
$position = Str::position('Hello, World!', 'Hello');
 
// 0
 
$position = Str::position('Hello, World!', 'W');
 
// 7

Str::random()

این Str::random روش یک رشته تصادفی با طول مشخص شده تولید می کند. این تابع از تابع PHP استفاده می کند random_bytes :

use Illuminate\Support\Str;
 
$random = Str::random(40);

در طول آزمایش، ممکن است "جعلی" مقداری که توسط Str::random روش برگردانده شده است مفید باشد. برای انجام این کار، می توانید از createRandomStringsUsing روش زیر استفاده کنید:

Str::createRandomStringsUsing(function () {
return 'fake-random-string';
});

برای دستور دادن به random روش برای بازگشت به تولید رشته های تصادفی به طور معمول، می توانید createRandomStringsNormally روش را فراخوانی کنید:

Str::createRandomStringsNormally();

Str::remove()

متد Str::remove مقدار داده شده یا آرایه مقادیر را از رشته حذف می کند:

use Illuminate\Support\Str;
 
$string = 'Peter Piper picked a peck of pickled peppers.';
 
$removed = Str::remove('e', $string);
 
// Ptr Pipr pickd a pck of pickld ppprs.

همچنین می‌توانید false به‌عنوان آرگومان سوم به remove متد ارسال کنید تا هنگام حذف رشته‌ها، حروف کوچک و بزرگ نادیده گرفته شود.

Str::repeat()

متد Str::repeat رشته داده شده را تکرار می کند:

use Illuminate\Support\Str;
 
$string = 'a';
 
$repeat = Str::repeat($string, 5);
 
// aaaaa

Str::replace()

متد Str::replace یک رشته داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$string = 'Laravel 10.x';
 
$replaced = Str::replace('10.x', '11.x', $string);
 
// Laravel 11.x

متد replace یک آرگومان را نیز می پذیرد caseSensitive . به طور پیش فرض، replace روش به حروف بزرگ و کوچک حساس است:

Str::replace('Framework', 'Laravel', caseSensitive: false);

Str::replaceArray()

این Str::replaceArray روش با استفاده از یک آرایه، مقدار داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$string = 'The event will take place between ? and ?';
 
$replaced = Str::replaceArray('?', ['8:30', '9:00'], $string);
 
// The event will take place between 8:30 and 9:00

Str::replaceFirst()

متد Str::replaceFirst اولین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog');
 
// a quick brown fox jumps over the lazy dog

Str::replaceLast()

متد Str::replaceLast آخرین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog');
 
// the quick brown fox jumps over a lazy dog

Str::replaceMatches()

این Str::replaceMatches روش تمام بخش های یک رشته را که با یک الگو مطابقت دارد با رشته جایگزین داده شده جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::replaceMatches(
pattern: '/[^A-Za-z0-9]++/',
replace: '',
subject: '(+1) 501-555-1000'
)
 
// '15015551000'

این replaceMatches روش همچنین بسته‌ای را می‌پذیرد که با هر بخش از رشته مطابق با الگوی داده شده فراخوانی می‌شود و به شما امکان می‌دهد منطق جایگزینی را در بسته شدن انجام دهید و مقدار جایگزین شده را برگردانید:

use Illuminate\Support\Str;
 
$replaced = Str::replaceMatches('/\d/', function (array $matches) {
return '['.$matches[0].']';
}, '123');
 
// '[1][2][3]'

Str::replaceStart()

این Str::replaceStart روش تنها در صورتی جایگزین اولین وقوع مقدار داده شده می شود که این مقدار در ابتدای رشته ظاهر شود:

use Illuminate\Support\Str;
 
$replaced = Str::replaceStart('Hello', 'Laravel', 'Hello World');
 
// Laravel World
 
$replaced = Str::replaceStart('World', 'Laravel', 'Hello World');
 
// Hello World

Str::replaceEnd()

این Str::replaceEnd روش تنها در صورتی جایگزین آخرین وقوع مقدار داده شده می شود که مقدار در انتهای رشته ظاهر شود:

use Illuminate\Support\Str;
 
$replaced = Str::replaceEnd('World', 'Laravel', 'Hello World');
 
// Hello Laravel
 
$replaced = Str::replaceEnd('Hello', 'Laravel', 'Hello World');
 
// Hello World

Str::reverse()

متد Str::reverse رشته داده شده را معکوس می کند:

use Illuminate\Support\Str;
 
$reversed = Str::reverse('Hello World');
 
// dlroW olleH

Str::singular()

این Str::singular روش یک رشته را به شکل تکی آن تبدیل می کند. این تابع از هر یک از زبان های پشتیبانی شده توسط پلورالیزر لاراول پشتیبانی می کند :

use Illuminate\Support\Str;
 
$singular = Str::singular('cars');
 
// car
 
$singular = Str::singular('children');
 
// child

Str::slug()

این Str::slug روش یک URL دوستدار "slug" از رشته داده شده ایجاد می کند:

use Illuminate\Support\Str;
 
$slug = Str::slug('Laravel 5 Framework', '-');
 
// laravel-5-framework

Str::snake()

متد Str::snake رشته داده شده را به snake_case :

use Illuminate\Support\Str;
 
$converted = Str::snake('fooBar');
 
// foo_bar
 
$converted = Str::snake('fooBar', '-');
 
// foo-bar

Str::squish()

این Str::squish روش تمام فضای سفید اضافی را از یک رشته حذف می کند، از جمله فضای سفید خارجی بین کلمات:

use Illuminate\Support\Str;
 
$string = Str::squish(' laravel framework ');
 
// laravel framework

Str::start()

این Str::start متد در صورتی که از قبل با آن مقدار شروع نشده باشد، یک نمونه واحد از مقدار داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$adjusted = Str::start('this/string', '/');
 
// /this/string
 
$adjusted = Str::start('/this/string', '/');
 
// /this/string

Str::startsWith()

متد Str::startsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده شروع می شود:

use Illuminate\Support\Str;
 
$result = Str::startsWith('This is my name', 'This');
 
// true

اگر آرایه ای از مقادیر ممکن ارسال شود، اگر رشته با هر یک از مقادیر داده شده شروع شود، startsWith متد برمی گردد : true

$result = Str::startsWith('This is my name', ['This', 'That', 'There']);
 
// true

Str::studly()

متد Str::studly رشته داده شده را به StudlyCase :

use Illuminate\Support\Str;
 
$converted = Str::studly('foo_bar');
 
// FooBar

Str::substr()

متد Str::substr بخشی از رشته را که توسط پارامترهای start و length مشخص شده است برمی گرداند:

use Illuminate\Support\Str;
 
$converted = Str::substr('The Laravel Framework', 4, 7);
 
// Laravel

Str::substrCount()

متد Str::substrCount تعداد وقوع یک مقدار معین را در رشته داده شده برمی گرداند:

use Illuminate\Support\Str;
 
$count = Str::substrCount('If you like ice cream, you will like snow cones.', 'like');
 
// 2

Str::substrReplace()

این Str::substrReplace متد متن را در قسمتی از رشته جایگزین می‌کند و از موقعیتی که توسط آرگومان سوم مشخص شده شروع می‌شود و تعداد کاراکترهای مشخص شده توسط آرگومان چهارم را جایگزین می‌کند. با عبور 0 به آرگومان چهارم متد، رشته را در موقعیت مشخص شده بدون جایگزینی هیچ یک از کاراکترهای موجود در رشته وارد می کند:

use Illuminate\Support\Str;
 
$result = Str::substrReplace('1300', ':', 2);
// 13:
 
$result = Str::substrReplace('1300', ':', 2, 0);
// 13:00

Str::swap()

این Str::swap روش با استفاده از تابع PHP چندین مقدار را در رشته داده شده جایگزین می کند strtr :

use Illuminate\Support\Str;
 
$string = Str::swap([
'Tacos' => 'Burritos',
'great' => 'fantastic',
], 'Tacos are great!');
 
// Burritos are fantastic!

Str::take()

متد Str::take تعداد مشخصی از کاراکترها را از ابتدای یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$taken = Str::take('Build something amazing!', 5);
 
// Build

Str::title()

متد Str::title رشته داده شده را به Title Case :

use Illuminate\Support\Str;
 
$converted = Str::title('a nice title uses the correct case');
 
// A Nice Title Uses The Correct Case

Str::toBase64()

متد Str::toBase64 رشته داده شده را به Base64 تبدیل می کند:

use Illuminate\Support\Str;
 
$base64 = Str::toBase64('Laravel');
 
// TGFyYXZlbA==

Str::toHtmlString()

این Str::toHtmlString روش نمونه رشته را به نمونه ای تبدیل می کند Illuminate\Support\HtmlString که ممکن است در قالب های Blade نمایش داده شود:

use Illuminate\Support\Str;
 
$htmlString = Str::of('Nuno Maduro')->toHtmlString();

Str::ucfirst()

متد Str::ucfirst رشته داده شده را با حروف بزرگ برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::ucfirst('foo bar');
 
// Foo bar

Str::ucsplit()

این Str::ucsplit روش رشته داده شده را با حروف بزرگ به یک آرایه تقسیم می کند:

use Illuminate\Support\Str;
 
$segments = Str::ucsplit('FooBar');
 
// [0 => 'Foo', 1 => 'Bar']

Str::upper()

متد Str::upper رشته داده شده را به حروف بزرگ تبدیل می کند:

use Illuminate\Support\Str;
 
$string = Str::upper('laravel');
 
// LARAVEL

Str::ulid()

این Str::ulid روش یک ULID تولید می کند که یک شناسه منحصر به فرد فشرده و مرتب شده با زمان است:

use Illuminate\Support\Str;
 
return (string) Str::ulid();
 
// 01gd6r360bp37zj17nxb55yv40

اگر می‌خواهید نمونه‌ای از تاریخ را بازیابی کنید Illuminate\Support\Carbon که نشان‌دهنده تاریخ و ساعت ایجاد یک ULID معین است، می‌توانید از createFromId روش ارائه‌شده توسط ادغام کربن لاراول استفاده کنید:

use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
 
$date = Carbon::createFromId((string) Str::ulid());

در طول آزمایش، ممکن است "جعلی" مقداری که توسط Str::ulid روش برگردانده شده است مفید باشد. برای انجام این کار، می توانید از createUlidsUsing روش زیر استفاده کنید:

use Symfony\Component\Uid\Ulid;
 
Str::createUlidsUsing(function () {
return new Ulid('01HRDBNHHCKNW2AK4Z29SN82T9');
});

برای دستور دادن به ulid روش برای بازگشت به تولید ULID به طور معمول، می‌توانید createUlidsNormally متد را فراخوانی کنید:

Str::createUlidsNormally();

Str::unwrap()

این Str::unwrap روش رشته های مشخص شده را از ابتدا و انتهای یک رشته مشخص حذف می کند:

use Illuminate\Support\Str;
 
Str::unwrap('-Laravel-', '-');
 
// Laravel
 
Str::unwrap('{framework: "Laravel"}', '{', '}');
 
// framework: "Laravel"

Str::uuid()

این Str::uuid روش یک UUID (نسخه 4) تولید می کند:

use Illuminate\Support\Str;
 
return (string) Str::uuid();

در طول آزمایش، ممکن است "جعلی" مقداری که توسط Str::uuid روش برگردانده شده است مفید باشد. برای انجام این کار، می توانید از createUuidsUsing روش زیر استفاده کنید:

use Ramsey\Uuid\Uuid;
 
Str::createUuidsUsing(function () {
return Uuid::fromString('eadbfeac-5258-45c2-bab7-ccb9b5ef74f9');
});

برای دستور دادن به uuid روش برای بازگشت به تولید UUID به طور معمول، می توانید از createUuidsNormally روش استفاده کنید:

Str::createUuidsNormally();

Str::wordCount()

متد Str::wordCount تعداد کلماتی را که یک رشته شامل می شود برمی گرداند:

use Illuminate\Support\Str;
 
Str::wordCount('Hello, world!'); // 2

Str::wordWrap()

این Str::wordWrap روش یک رشته را به تعداد معینی از کاراکترها می پیچد:

use Illuminate\Support\Str;
 
$text = "The quick brown fox jumped over the lazy dog."
 
Str::wordWrap($text, characters: 20, break: "<br />\n");
 
/*
The quick brown fox<br />
jumped over the lazy<br />
dog.
*/

Str::words()

این Str::words روش تعداد کلمات یک رشته را محدود می کند. ممکن است یک رشته اضافی از طریق آرگومان سوم به این متد ارسال شود تا مشخص شود کدام رشته باید به انتهای رشته کوتاه شده اضافه شود:

use Illuminate\Support\Str;
 
return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>');
 
// Perfectly balanced, as >>>

Str::wrap()

این Str::wrap روش رشته داده شده را با یک رشته یا یک جفت رشته اضافی می پیچد:

use Illuminate\Support\Str;
 
Str::wrap('Laravel', '"');
 
// "Laravel"
 
Str::wrap('is', before: 'This ', after: ' Laravel!');
 
// This is Laravel!

str()

تابع str یک نمونه جدید Illuminate\Support\Stringable از رشته داده شده را برمی گرداند. این تابع معادل Str::of روش زیر است:

$string = str('Taylor')->append(' Otwell');
 
// 'Taylor Otwell'

اگر هیچ آرگومانی به تابع ارائه نشود str ، تابع نمونه ای از Illuminate\Support\Str :

$snake = str()->snake('FooBar');
 
// 'foo_bar'

trans()

تابع trans کلید ترجمه داده شده را با استفاده از فایل های زبان شما ترجمه می کند :

echo trans('messages.welcome');

اگر کلید ترجمه مشخص شده وجود نداشته باشد، trans تابع کلید داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا، اگر کلید ترجمه وجود نداشته باشد، trans تابع برمی گردد . messages.welcome

trans_choice()

تابع trans_choice کلید ترجمه داده شده را با عطف ترجمه می کند:

echo trans_choice('messages.notifications', $unreadCount);

اگر کلید ترجمه مشخص شده وجود نداشته باشد، trans_choice تابع کلید داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا، اگر کلید ترجمه وجود نداشته باشد، trans_choice تابع برمی گردد . messages.notifications

رشته های روان

رشته‌های روان یک رابط شی‌گراتر برای کار با مقادیر رشته‌ها ارائه می‌کنند و به شما امکان می‌دهند چندین عملیات رشته را با استفاده از یک نحو خواناتر در مقایسه با عملیات رشته‌های سنتی زنجیره‌ای کنید.

after

متد after همه چیز را بعد از مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->after('This is');
 
// ' my name'

afterLast

متد afterLast همه چیز را پس از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::of('App\Http\Controllers\Controller')->afterLast('\\');
 
// 'Controller'

apa

این روش رشته داده شده را با توجه به دستورالعمل های APA apa به عنوان مورد تبدیل می کند :

use Illuminate\Support\Str;
 
$converted = Str::of('a nice title uses the correct case')->apa();
 
// A Nice Title Uses the Correct Case

append

متد append مقادیر داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Taylor')->append(' Otwell');
 
// 'Taylor Otwell'

ascii

این ascii روش تلاش خواهد کرد تا رشته را به یک مقدار ASCII تبدیل کند:

use Illuminate\Support\Str;
 
$string = Str::of('ü')->ascii();
 
// 'u'

basename

متد basename مولفه نام انتهایی رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->basename();
 
// 'baz'

در صورت نیاز، می‌توانید یک «افزونه» ارائه دهید که از مؤلفه انتهایی حذف می‌شود:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');
 
// 'baz'

before

متد before همه چیز را قبل از مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->before('my name');
 
// 'This is '

beforeLast

متد beforeLast همه چیز را قبل از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->beforeLast('is');
 
// 'This '

between

متد between بخشی از یک رشته را بین دو مقدار برمی گرداند:

use Illuminate\Support\Str;
 
$converted = Str::of('This is my name')->between('This', 'name');
 
// ' is my '

betweenFirst

این betweenFirst متد کوچکترین بخش ممکن از یک رشته را بین دو مقدار برمی گرداند:

use Illuminate\Support\Str;
 
$converted = Str::of('[a] bc [d]')->betweenFirst('[', ']');
 
// 'a'

camel

متد camel رشته داده شده را به camelCase :

use Illuminate\Support\Str;
 
$converted = Str::of('foo_bar')->camel();
 
// 'fooBar'

charAt

متد charAt کاراکتر را در شاخص مشخص شده برمی گرداند. اگر شاخص خارج از محدوده باشد، false برگردانده می شود:

use Illuminate\Support\Str;
 
$character = Str::of('This is my name.')->charAt(6);
 
// 's'

classBasename

متد classBasename نام کلاس کلاس داده شده را با حذف فضای نام کلاس برمی گرداند:

use Illuminate\Support\Str;
 
$class = Str::of('Foo\Bar\Baz')->classBasename();
 
// 'Baz'

contains

متد contains تعیین می کند که آیا رشته داده شده حاوی مقدار داده شده است یا خیر. این روش به حروف کوچک و بزرگ حساس است:

use Illuminate\Support\Str;
 
$contains = Str::of('This is my name')->contains('my');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را ارسال کنید تا تعیین کنید آیا رشته داده شده حاوی هر یک از مقادیر آرایه است یا خیر:

use Illuminate\Support\Str;
 
$contains = Str::of('This is my name')->contains(['my', 'foo']);
 
// true

containsAll

متد containsAll تعیین می کند که آیا رشته داده شده حاوی تمام مقادیر آرایه داده شده است یا خیر:

use Illuminate\Support\Str;
 
$containsAll = Str::of('This is my name')->containsAll(['my', 'name']);
 
// true

dirname

متد dirname قسمت دایرکتوری والد رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->dirname();
 
// '/foo/bar'

در صورت لزوم، می توانید تعیین کنید که چند سطح دایرکتوری را می خواهید از رشته برش دهید:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->dirname(2);
 
// '/foo'

excerpt

این excerpt روش گزیده ای از رشته را استخراج می کند که با اولین نمونه از یک عبارت در آن رشته مطابقت دارد:

use Illuminate\Support\Str;
 
$excerpt = Str::of('This is my name')->excerpt('my', [
'radius' => 3
]);
 
// '...is my na...'

گزینه ای radius که به طور پیش فرض روی است 100 ، به شما امکان می دهد تعداد کاراکترهایی را که باید در هر طرف رشته کوتاه شده ظاهر شوند، تعیین کنید.

علاوه بر این، می‌توانید از omission گزینه تغییر رشته‌ای که از قبل به رشته کوتاه شده اضافه می‌شود، استفاده کنید:

use Illuminate\Support\Str;
 
$excerpt = Str::of('This is my name')->excerpt('name', [
'radius' => 3,
'omission' => '(...) '
]);
 
// '(...) my name'

endsWith

متد endsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده به پایان می رسد:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->endsWith('name');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را ارسال کنید تا مشخص کنید که آیا رشته داده شده به هر یک از مقادیر آرایه ختم می‌شود یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->endsWith(['name', 'foo']);
 
// true
 
$result = Str::of('This is my name')->endsWith(['this', 'foo']);
 
// false

exactly

این exactly روش تعیین می کند که آیا رشته داده شده با رشته دیگری مطابقت دارد یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('Laravel')->exactly('Laravel');
 
// true

explode

متد explode رشته را با جداکننده داده شده تقسیم می کند و مجموعه ای حاوی هر بخش از رشته تقسیم را برمی گرداند:

use Illuminate\Support\Str;
 
$collection = Str::of('foo bar baz')->explode(' ');
 
// collect(['foo', 'bar', 'baz'])

finish

این finish متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر قبلاً به آن مقدار ختم نشده باشد:

use Illuminate\Support\Str;
 
$adjusted = Str::of('this/string')->finish('/');
 
// this/string/
 
$adjusted = Str::of('this/string/')->finish('/');
 
// this/string/

headline

این headline روش رشته‌هایی را که با حروف، خط تیره یا زیرخط مشخص شده‌اند، به رشته‌ای با فاصله با حروف اول هر کلمه تبدیل می‌کند:

use Illuminate\Support\Str;
 
$headline = Str::of('taylor_otwell')->headline();
 
// Taylor Otwell
 
$headline = Str::of('EmailNotificationSent')->headline();
 
// Email Notification Sent

inlineMarkdown

این روش Markdown با طعم GitHub را با استفاده از CommonMark inlineMarkdown به HTML درون خطی تبدیل می کند . با این حال، بر خلاف روش، تمام HTML تولید شده را در یک عنصر در سطح بلوک قرار نمی دهد: markdown

use Illuminate\Support\Str;
 
$html = Str::of('**Laravel**')->inlineMarkdown();
 
// <strong>Laravel</strong>

امنیت Markdown

به طور پیش‌فرض، Markdown از HTML خام پشتیبانی می‌کند، که در صورت استفاده با ورودی خام کاربر، آسیب‌پذیری‌های Cross-Site Scripting (XSS) را آشکار می‌کند. طبق مستندات CommonMark Security ، می‌توانید از html_input گزینه فرار یا حذف HTML خام و allow_unsafe_links گزینه‌ای برای تعیین اجازه دادن به پیوندهای ناامن استفاده کنید. اگر نیاز به اجازه دادن مقداری HTML خام دارید، باید Markdown کامپایل شده خود را از طریق یک HTML Purifier عبور دهید:

use Illuminate\Support\Str;
 
Str::of('Inject: <script>alert("Hello XSS!");</script>')->inlineMarkdown([
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
 
// Inject: alert(&quot;Hello XSS!&quot;);

is

این is روش تعیین می کند که آیا یک رشته داده شده با یک الگوی داده شده مطابقت دارد یا خیر. ستاره ها ممکن است به عنوان مقادیر عام استفاده شوند

use Illuminate\Support\Str;
 
$matches = Str::of('foobar')->is('foo*');
 
// true
 
$matches = Str::of('foobar')->is('baz*');
 
// false

isAscii

این isAscii روش تعیین می کند که آیا یک رشته داده شده یک رشته ASCII است:

use Illuminate\Support\Str;
 
$result = Str::of('Taylor')->isAscii();
 
// true
 
$result = Str::of('ü')->isAscii();
 
// false

isEmpty

متد isEmpty مشخص می کند که آیا رشته داده شده خالی است:

use Illuminate\Support\Str;
 
$result = Str::of(' ')->trim()->isEmpty();
 
// true
 
$result = Str::of('Laravel')->trim()->isEmpty();
 
// false

isNotEmpty

متد isNotEmpty تعیین می کند که آیا رشته داده شده خالی نباشد:

use Illuminate\Support\Str;
 
$result = Str::of(' ')->trim()->isNotEmpty();
 
// false
 
$result = Str::of('Laravel')->trim()->isNotEmpty();
 
// true

isJson

متد isJson تعیین می کند که آیا یک رشته داده شده JSON معتبر است یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('[1,2,3]')->isJson();
 
// true
 
$result = Str::of('{"first": "John", "last": "Doe"}')->isJson();
 
// true
 
$result = Str::of('{first: "John", last: "Doe"}')->isJson();
 
// false

isUlid

متد isUlid تعیین می کند که آیا یک رشته داده شده یک ULID است یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('01gd6r360bp37zj17nxb55yv40')->isUlid();
 
// true
 
$result = Str::of('Taylor')->isUlid();
 
// false

isUrl

این isUrl روش تعیین می کند که آیا یک رشته داده شده یک URL است یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('http://example.com')->isUrl();
 
// true
 
$result = Str::of('Taylor')->isUrl();
 
// false

این isUrl روش طیف وسیعی از پروتکل ها را معتبر در نظر می گیرد. با این حال، می‌توانید پروتکل‌هایی را که باید معتبر در نظر گرفته شوند، با ارائه آنها به isUrl روش مشخص کنید:

$result = Str::of('http://example.com')->isUrl(['http', 'https']);

isUuid

این isUuid روش تعیین می کند که آیا یک رشته داده شده یک UUID است یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('5ace9ab9-e9cf-4ec6-a19d-5881212a452c')->isUuid();
 
// true
 
$result = Str::of('Taylor')->isUuid();
 
// false

kebab

متد kebab رشته داده شده را به kebab-case :

use Illuminate\Support\Str;
 
$converted = Str::of('fooBar')->kebab();
 
// foo-bar

lcfirst

متد lcfirst رشته داده شده را با اولین کاراکتر کوچک برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('Foo Bar')->lcfirst();
 
// foo Bar

length

متد length طول رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$length = Str::of('Laravel')->length();
 
// 7

limit

متد limit رشته داده شده را به طول مشخص شده کوتاه می کند:

use Illuminate\Support\Str;
 
$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20);
 
// The quick brown fox...

همچنین می توانید یک آرگومان دوم برای تغییر رشته ای که به انتهای رشته کوتاه شده اضافه می شود، ارسال کنید:

use Illuminate\Support\Str;
 
$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20, ' (...)');
 
// The quick brown fox (...)

lower

متد lower رشته داده شده را به حروف کوچک تبدیل می کند:

use Illuminate\Support\Str;
 
$result = Str::of('LARAVEL')->lower();
 
// 'laravel'

ltrim

این ltrim روش سمت چپ رشته را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->ltrim();
 
// 'Laravel '
 
$string = Str::of('/Laravel/')->ltrim('/');
 
// 'Laravel/'

markdown

این markdown روش Markdown با طعم GitHub را به HTML تبدیل می کند:

use Illuminate\Support\Str;
 
$html = Str::of('# Laravel')->markdown();
 
// <h1>Laravel</h1>
 
$html = Str::of('# Taylor <b>Otwell</b>')->markdown([
'html_input' => 'strip',
]);
 
// <h1>Taylor Otwell</h1>

امنیت Markdown

به طور پیش‌فرض، Markdown از HTML خام پشتیبانی می‌کند، که در صورت استفاده با ورودی خام کاربر، آسیب‌پذیری‌های Cross-Site Scripting (XSS) را آشکار می‌کند. طبق مستندات CommonMark Security ، می‌توانید از html_input گزینه فرار یا حذف HTML خام و allow_unsafe_links گزینه‌ای برای تعیین اجازه دادن به پیوندهای ناامن استفاده کنید. اگر نیاز به اجازه دادن مقداری HTML خام دارید، باید Markdown کامپایل شده خود را از طریق یک HTML Purifier عبور دهید:

use Illuminate\Support\Str;
 
Str::of('Inject: <script>alert("Hello XSS!");</script>')->markdown([
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
 
// <p>Inject: alert(&quot;Hello XSS!&quot;);</p>

mask

این mask روش بخشی از یک رشته را با یک کاراکتر تکراری ماسک می کند و ممکن است برای مبهم کردن بخش هایی از رشته ها مانند آدرس ایمیل و شماره تلفن استفاده شود:

use Illuminate\Support\Str;
 
$string = Str::of('taylor@example.com')->mask('*', 3);
 
// tay***************

در صورت نیاز، می توانید اعداد منفی را به عنوان آرگومان سوم یا چهارم به mask متد ارائه دهید، که به متد دستور می دهد تا در فاصله مشخص شده از انتهای رشته، ماسک کردن را آغاز کند:

$string = Str::of('taylor@example.com')->mask('*', -15, 3);
 
// tay***@example.com
 
$string = Str::of('taylor@example.com')->mask('*', 4, -4);
 
// tayl**********.com

match

متد match بخشی از یک رشته را برمی گرداند که با الگوی عبارت منظم داده شده مطابقت دارد:

use Illuminate\Support\Str;
 
$result = Str::of('foo bar')->match('/bar/');
 
// 'bar'
 
$result = Str::of('foo bar')->match('/foo (.*)/');
 
// 'bar'

matchAll

این matchAll متد مجموعه‌ای حاوی بخش‌هایی از یک رشته را برمی‌گرداند که با الگوی عبارت منظم داده شده مطابقت دارد:

use Illuminate\Support\Str;
 
$result = Str::of('bar foo bar')->matchAll('/bar/');
 
// collect(['bar', 'bar'])

اگر یک گروه منطبق را در عبارت مشخص کنید، لاراول مجموعه ای از مطابقت های آن گروه را برمی گرداند:

use Illuminate\Support\Str;
 
$result = Str::of('bar fun bar fly')->matchAll('/f(\w*)/');
 
// collect(['un', 'ly']);

اگر هیچ منطبقی پیدا نشد، یک مجموعه خالی برگردانده خواهد شد.

isMatch

اگر رشته با عبارت منظم داده شده مطابقت داشته باشد، متد isMatch برمی گردد : true

use Illuminate\Support\Str;
 
$result = Str::of('foo bar')->isMatch('/foo (.*)/');
 
// true
 
$result = Str::of('laravel')->isMatch('/foo (.*)/');
 
// false

newLine

این newLine روش یک کاراکتر "انتهای خط" را به یک رشته اضافه می کند:

use Illuminate\Support\Str;
 
$padded = Str::of('Laravel')->newLine()->append('Framework');
 
// 'Laravel
// Framework'

padBoth

این padBoth روش تابع PHP را بسته بندی می کند str_pad و هر دو طرف یک رشته را با یک رشته دیگر اضافه می کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padBoth(10, '_');
 
// '__James___'
 
$padded = Str::of('James')->padBoth(10);
 
// ' James '

padLeft

این padLeft روش تابع PHP را پیچیده می‌کند str_pad و سمت چپ یک رشته را با یک رشته دیگر اضافه می‌کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padLeft(10, '-=');
 
// '-=-=-James'
 
$padded = Str::of('James')->padLeft(10);
 
// ' James'

padRight

این padRight روش تابع PHP را پیچیده می‌کند str_pad و سمت راست یک رشته را با یک رشته دیگر اضافه می‌کند تا اینکه رشته نهایی به طول دلخواه برسد:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padRight(10, '-');
 
// 'James-----'
 
$padded = Str::of('James')->padRight(10);
 
// 'James '

pipe

این pipe روش به شما امکان می دهد رشته را با ارسال مقدار فعلی آن به قابل فراخوانی داده شده تبدیل کنید:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$hash = Str::of('Laravel')->pipe('md5')->prepend('Checksum: ');
 
// 'Checksum: a5c95b86291ea299fcbe64458ed12702'
 
$closure = Str::of('foo')->pipe(function (Stringable $str) {
return 'bar';
});
 
// 'bar'

plural

این plural روش یک رشته کلمه مفرد را به شکل جمع آن تبدیل می کند. این تابع از هر یک از زبان های پشتیبانی شده توسط پلورالیزر لاراول پشتیبانی می کند :

use Illuminate\Support\Str;
 
$plural = Str::of('car')->plural();
 
// cars
 
$plural = Str::of('child')->plural();
 
// children

می توانید یک عدد صحیح به عنوان آرگومان دوم برای تابع برای بازیابی شکل مفرد یا جمع رشته ارائه دهید:

use Illuminate\Support\Str;
 
$plural = Str::of('child')->plural(2);
 
// children
 
$plural = Str::of('child')->plural(1);
 
// child

position

این position روش موقعیت اولین وقوع یک زیررشته را در یک رشته برمی گرداند. اگر زیر رشته در رشته وجود نداشته باشد، false برگردانده می شود:

use Illuminate\Support\Str;
 
$position = Str::of('Hello, World!')->position('Hello');
 
// 0
 
$position = Str::of('Hello, World!')->position('W');
 
// 7

prepend

متد prepend مقادیر داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Framework')->prepend('Laravel ');
 
// Laravel Framework

remove

متد remove مقدار داده شده یا آرایه مقادیر را از رشته حذف می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Arkansas is quite beautiful!')->remove('quite');
 
// Arkansas is beautiful!

شما همچنین می توانید false به عنوان پارامتر دوم برای نادیده گرفتن حروف بزرگ هنگام حذف رشته ها ارسال کنید.

repeat

متد repeat رشته داده شده را تکرار می کند:

use Illuminate\Support\Str;
 
$repeated = Str::of('a')->repeat(5);
 
// aaaaa

replace

متد replace یک رشته داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('Laravel 6.x')->replace('6.x', '7.x');
 
// Laravel 7.x

متد replace یک آرگومان را نیز می پذیرد caseSensitive . به طور پیش فرض، replace روش به حروف بزرگ و کوچک حساس است:

$replaced = Str::of('macOS 13.x')->replace(
'macOS', 'iOS', caseSensitive: false
);

replaceArray

این replaceArray روش با استفاده از یک آرایه، مقدار داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$string = 'The event will take place between ? and ?';
 
$replaced = Str::of($string)->replaceArray('?', ['8:30', '9:00']);
 
// The event will take place between 8:30 and 9:00

replaceFirst

متد replaceFirst اولین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceFirst('the', 'a');
 
// a quick brown fox jumps over the lazy dog

replaceLast

متد replaceLast آخرین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceLast('the', 'a');
 
// the quick brown fox jumps over a lazy dog

replaceMatches

این replaceMatches روش تمام بخش های یک رشته را که با یک الگو مطابقت دارد با رشته جایگزین داده شده جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('(+1) 501-555-1000')->replaceMatches('/[^A-Za-z0-9]++/', '')
 
// '15015551000'

این replaceMatches روش همچنین بسته‌ای را می‌پذیرد که با هر بخش از رشته مطابق با الگوی داده شده فراخوانی می‌شود و به شما امکان می‌دهد منطق جایگزینی را در بسته شدن انجام دهید و مقدار جایگزین شده را برگردانید:

use Illuminate\Support\Str;
 
$replaced = Str::of('123')->replaceMatches('/\d/', function (array $matches) {
return '['.$matches[0].']';
});
 
// '[1][2][3]'

replaceStart

این replaceStart روش تنها در صورتی جایگزین اولین وقوع مقدار داده شده می شود که این مقدار در ابتدای رشته ظاهر شود:

use Illuminate\Support\Str;
 
$replaced = Str::of('Hello World')->replaceStart('Hello', 'Laravel');
 
// Laravel World
 
$replaced = Str::of('Hello World')->replaceStart('World', 'Laravel');
 
// Hello World

replaceEnd

این replaceEnd روش تنها در صورتی جایگزین آخرین وقوع مقدار داده شده می شود که مقدار در انتهای رشته ظاهر شود:

use Illuminate\Support\Str;
 
$replaced = Str::of('Hello World')->replaceEnd('World', 'Laravel');
 
// Hello Laravel
 
$replaced = Str::of('Hello World')->replaceEnd('Hello', 'Laravel');
 
// Hello World

rtrim

متد rtrim سمت راست رشته داده شده را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->rtrim();
 
// ' Laravel'
 
$string = Str::of('/Laravel/')->rtrim('/');
 
// '/Laravel'

scan

متد scan ورودی را از یک رشته به یک مجموعه بر اساس فرمتی که توسط sscanf تابع PHP پشتیبانی می شود تجزیه می کند :

use Illuminate\Support\Str;
 
$collection = Str::of('filename.jpg')->scan('%[^.].%s');
 
// collect(['filename', 'jpg'])

singular

این singular روش یک رشته را به شکل تکی آن تبدیل می کند. این تابع از هر یک از زبان های پشتیبانی شده توسط پلورالیزر لاراول پشتیبانی می کند :

use Illuminate\Support\Str;
 
$singular = Str::of('cars')->singular();
 
// car
 
$singular = Str::of('children')->singular();
 
// child

slug

این slug روش یک URL دوستدار "slug" از رشته داده شده ایجاد می کند:

use Illuminate\Support\Str;
 
$slug = Str::of('Laravel Framework')->slug('-');
 
// laravel-framework

snake

متد snake رشته داده شده را به snake_case :

use Illuminate\Support\Str;
 
$converted = Str::of('fooBar')->snake();
 
// foo_bar

split

این split روش یک رشته را با استفاده از یک عبارت منظم به یک مجموعه تقسیم می کند:

use Illuminate\Support\Str;
 
$segments = Str::of('one, two, three')->split('/[\s,]+/');
 
// collect(["one", "two", "three"])

squish

این squish روش تمام فضای سفید اضافی را از یک رشته حذف می کند، از جمله فضای سفید خارجی بین کلمات:

use Illuminate\Support\Str;
 
$string = Str::of(' laravel framework ')->squish();
 
// laravel framework

start

این start متد در صورتی که از قبل با آن مقدار شروع نشده باشد، یک نمونه واحد از مقدار داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$adjusted = Str::of('this/string')->start('/');
 
// /this/string
 
$adjusted = Str::of('/this/string')->start('/');
 
// /this/string

startsWith

متد startsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده شروع می شود:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->startsWith('This');
 
// true

stripTags

این stripTags روش تمام تگ های HTML و PHP را از یک رشته حذف می کند:

use Illuminate\Support\Str;
 
$result = Str::of('<a href="https://laravel.com">Taylor <b>Otwell</b></a>')->stripTags();
 
// Taylor Otwell
 
$result = Str::of('<a href="https://laravel.com">Taylor <b>Otwell</b></a>')->stripTags('<b>');
 
// Taylor <b>Otwell</b>

studly

متد studly رشته داده شده را به StudlyCase :

use Illuminate\Support\Str;
 
$converted = Str::of('foo_bar')->studly();
 
// FooBar

substr

متد substr بخشی از رشته را که توسط پارامترهای شروع و طول مشخص شده برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('Laravel Framework')->substr(8);
 
// Framework
 
$string = Str::of('Laravel Framework')->substr(8, 5);
 
// Frame

substrReplace

این substrReplace متد متن را در قسمتی از رشته جایگزین می‌کند و از موقعیتی که توسط آرگومان دوم مشخص شده شروع می‌شود و تعداد کاراکترهای مشخص‌شده توسط آرگومان سوم را جایگزین می‌کند. با ارسال 0 به آرگومان سوم متد، رشته را در موقعیت مشخص شده بدون جایگزینی هیچ یک از کاراکترهای موجود در رشته وارد می کند:

use Illuminate\Support\Str;
 
$string = Str::of('1300')->substrReplace(':', 2);
 
// 13:
 
$string = Str::of('The Framework')->substrReplace(' Laravel', 3, 0);
 
// The Laravel Framework

swap

این روش با استفاده از تابع swap PHP چندین مقدار را در رشته جایگزین می کند : strtr

use Illuminate\Support\Str;
 
$string = Str::of('Tacos are great!')
->swap([
'Tacos' => 'Burritos',
'great' => 'fantastic',
]);
 
// Burritos are fantastic!

take

متد take تعداد مشخصی از کاراکترها را از ابتدای رشته برمی گرداند:

use Illuminate\Support\Str;
 
$taken = Str::of('Build something amazing!')->take(5);
 
// Build

tap

این tap روش رشته را به بسته داده شده منتقل می کند و به شما امکان می دهد رشته را بررسی کرده و با آن تعامل داشته باشید در حالی که روی خود رشته تأثیر نمی گذارد. رشته اصلی با tap روش برگردانده می شود بدون توجه به آنچه که با بسته شدن بازگردانده می شود:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('Laravel')
->append(' Framework')
->tap(function (Stringable $string) {
dump('String after append: '.$string);
})
->upper();
 
// LARAVEL FRAMEWORK

test

این test روش تعیین می کند که آیا یک رشته با الگوی عبارت منظم داده شده مطابقت دارد یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('Laravel Framework')->test('/Laravel/');
 
// true

title

متد title رشته داده شده را به Title Case :

use Illuminate\Support\Str;
 
$converted = Str::of('a nice title uses the correct case')->title();
 
// A Nice Title Uses The Correct Case

toBase64()

متد toBase64 رشته داده شده را به Base64 تبدیل می کند:

use Illuminate\Support\Str;
 
$base64 = Str::of('Laravel')->toBase64();
 
// TGFyYXZlbA==

trim

متد trim رشته داده شده را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->trim();
 
// 'Laravel'
 
$string = Str::of('/Laravel/')->trim('/');
 
// 'Laravel'

ucfirst

متد ucfirst رشته داده شده را با حروف بزرگ برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('foo bar')->ucfirst();
 
// Foo bar

ucsplit

این ucsplit روش رشته داده شده را با حروف بزرگ به مجموعه ای تقسیم می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Foo Bar')->ucsplit();
 
// collect(['Foo', 'Bar'])

unwrap

این unwrap روش رشته های مشخص شده را از ابتدا و انتهای یک رشته مشخص حذف می کند:

use Illuminate\Support\Str;
 
Str::of('-Laravel-')->unwrap('-');
 
// Laravel
 
Str::of('{framework: "Laravel"}')->unwrap('{', '}');
 
// framework: "Laravel"

upper

متد upper رشته داده شده را به حروف بزرگ تبدیل می کند:

use Illuminate\Support\Str;
 
$adjusted = Str::of('laravel')->upper();
 
// LARAVEL

when

این when روش بسته شدن داده شده را در صورتی فراخوانی می کند که یک شرط معین باشد true . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('Taylor')
->when(true, function (Stringable $string) {
return $string->append(' Otwell');
});
 
// 'Taylor Otwell'

در صورت لزوم، می توانید یک بسته دیگر را به عنوان پارامتر سوم به when روش ارسال کنید. این بسته شدن در صورتی اجرا می شود که پارامتر شرط به false .

whenContains

whenContains اگر رشته حاوی مقدار داده شده باشد، متد بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('tony stark')
->whenContains('tony', function (Stringable $string) {
return $string->title();
});
 
// 'Tony Stark'

در صورت لزوم، می توانید یک بسته دیگر را به عنوان پارامتر سوم به when روش ارسال کنید. اگر رشته حاوی مقدار داده شده نباشد، این بسته اجرا می شود.

همچنین می‌توانید آرایه‌ای از مقادیر را ارسال کنید تا تعیین کنید آیا رشته داده شده حاوی هر یک از مقادیر آرایه است یا خیر:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('tony stark')
->whenContains(['tony', 'hulk'], function (Stringable $string) {
return $string->title();
});
 
// Tony Stark

whenContainsAll

whenContainsAll اگر رشته شامل تمام رشته های فرعی داده شده باشد، متد بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('tony stark')
->whenContainsAll(['tony', 'stark'], function (Stringable $string) {
return $string->title();
});
 
// 'Tony Stark'

در صورت لزوم، می توانید یک بسته دیگر را به عنوان پارامتر سوم به when روش ارسال کنید. این بسته شدن در صورتی اجرا می شود که پارامتر شرط به false .

whenEmpty

whenEmpty اگر رشته خالی باشد، متد بسته شدن داده شده را فراخوانی می کند . اگر بسته شدن مقداری را برگرداند، آن مقدار نیز با whenEmpty روش برگردانده می شود. اگر بسته شدن مقداری برنگرداند، نمونه رشته روان برگردانده می‌شود:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of(' ')->whenEmpty(function (Stringable $string) {
return $string->trim()->prepend('Laravel');
});
 
// 'Laravel'

whenNotEmpty

whenNotEmpty اگر رشته خالی نباشد، متد بسته شدن داده شده را فراخوانی می کند . اگر بسته شدن مقداری را برگرداند، آن مقدار نیز با whenNotEmpty روش برگردانده می شود. اگر بسته شدن مقداری برنگرداند، نمونه رشته روان برگردانده می‌شود:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('Framework')->whenNotEmpty(function (Stringable $string) {
return $string->prepend('Laravel ');
});
 
// 'Laravel Framework'

whenStartsWith

whenStartsWith اگر رشته با رشته فرعی داده شده شروع شود، روش بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('disney world')->whenStartsWith('disney', function (Stringable $string) {
return $string->title();
});
 
// 'Disney World'

whenEndsWith

whenEndsWith اگر رشته با رشته فرعی داده شده به پایان برسد، این روش بسته شدن داده شده را فراخوانی می کند. بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('disney world')->whenEndsWith('world', function (Stringable $string) {
return $string->title();
});
 
// 'Disney World'

whenExactly

whenExactly اگر رشته دقیقاً با رشته داده شده مطابقت داشته باشد، متد بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('laravel')->whenExactly('laravel', function (Stringable $string) {
return $string->title();
});
 
// 'Laravel'

whenNotExactly

whenNotExactly اگر رشته دقیقاً با رشته داده شده مطابقت نداشته باشد، روش بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('framework')->whenNotExactly('laravel', function (Stringable $string) {
return $string->title();
});
 
// 'Framework'

whenIs

whenIs اگر رشته با الگوی داده شده مطابقت داشته باشد، روش بسته شدن داده شده را فراخوانی می کند . ستاره ها ممکن است به عنوان مقادیر عام استفاده شوند. بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('foo/bar')->whenIs('foo/*', function (Stringable $string) {
return $string->append('/baz');
});
 
// 'foo/bar/baz'

whenIsAscii

whenIsAscii اگر رشته ASCII 7 بیتی باشد، روش بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('laravel')->whenIsAscii(function (Stringable $string) {
return $string->title();
});
 
// 'Laravel'

whenIsUlid

whenIsUlid اگر رشته یک ULID معتبر باشد، متد بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
 
$string = Str::of('01gd6r360bp37zj17nxb55yv40')->whenIsUlid(function (Stringable $string) {
return $string->substr(0, 8);
});
 
// '01gd6r36'

whenIsUuid

whenIsUuid اگر رشته یک UUID معتبر باشد، روش بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('a0a2a2d2-0b87-4a18-83f2-2529882be2de')->whenIsUuid(function (Stringable $string) {
return $string->substr(0, 8);
});
 
// 'a0a2a2d2'

whenTest

whenTest اگر رشته با عبارت منظم داده شده مطابقت داشته باشد، متد بسته شدن داده شده را فراخوانی می کند . بسته شدن نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
use Illuminate\Support\Stringable;
 
$string = Str::of('laravel framework')->whenTest('/laravel/', function (Stringable $string) {
return $string->title();
});
 
// 'Laravel Framework'

wordCount

متد wordCount تعداد کلماتی را که یک رشته شامل می شود برمی گرداند:

use Illuminate\Support\Str;
 
Str::of('Hello, world!')->wordCount(); // 2

words

این words روش تعداد کلمات یک رشته را محدود می کند. در صورت لزوم، می توانید یک رشته اضافی را مشخص کنید که به رشته کوتاه شده اضافه می شود:

use Illuminate\Support\Str;
 
$string = Str::of('Perfectly balanced, as all things should be.')->words(3, ' >>>');
 
// Perfectly balanced, as >>>