رشته های
معرفی
لاراول شامل انواع توابع برای دستکاری مقادیر رشته است. بسیاری از این توابع توسط خود چارچوب استفاده می شود. با این حال، شما آزاد هستید که از آنها در برنامه های کاربردی خود استفاده کنید اگر آنها را راحت می دانید.
روش های موجود
رشته های
__ class_basename ه preg_replace_array خ::بعد Str::afterLast Str::apa Str::ascii خیابان::قبل از Str::beforeLast خیابان::بین Str::betweenFirst خ::شتر Str::charAt خ::حاوی Str:: حاوی همه Str::endsWith Str::گزیده خ::پایان Str::headline Str::inlineMarkdown Str::is Str::isAscii Str::isJson Str::isUlid Str::isUrl Str::isUuid خ::کباب Str::lcfirst Str:: طول Str::Limit Str:: پایین تر Str::markdown خیابان::ماسک Str::orderedUuid Str::padBoth Str::padLeft Str::padRight Str::رمز عبور Str:: جمع Str::pluralStudly Str:: موقعیت خیابان::تصادفی Str::حذف Str:: تکرار خیابان:: جایگزین Str::replaceArray Str::replaceFirst Str::replaceLast Str::replaceMatches Str::replaceStart Str::replaceEnd Str:: معکوس خ::مفرد Str::slug خ::مار Str::squish خیابان::شروع Str:: startsWith Str:: مطالعه Str::substr Str::substrCount Str::substrReplace خیابان::مبادله Str:: take Str::title Str::toBase64 Str::toHtmlString Str::ucfirst Str::ucsplit خیابان::بالا Str::ulid Str:: unwrap Str::uuid Str::wordCount Str::wordWrap Str::words Str:: wrap خ ترانس trans_choice
رشته های روان
بعد از afterLast آپا ضمیمه آسکی نام پایه قبل از یکی قبل از اخر بین بین اول شتر charAt classBasename شامل شامل همه dirname به پایان می رسد با گزیده دقیقا منفجر شدن تمام کردن عنوان inlineMarkdown است isAscii خالی است isNotEmpty است isJson isUlid isUrl isUuid کباب اولا طول حد پایین تر ltrim نشانه گذاری ماسک همخوانی داشتن مطابقت همه isMatch خط جدید پد هر دو padLeft padRight لوله جمع موقعیت پیش انداختن برداشتن تکرار جایگزین کردن جایگزین آرایه جایگزین اول جایگزین آخرین جایگزین مسابقات جایگزین شروع جایگزین پایان rtrim اسکن کنید مفرد حلزون حرکت کردن مار شکاف له کردن شروع کنید شروع می شود با stripTags مطالعه substr substrReplace مبادله گرفتن ضربه زدن تست عنوان toBase64 کوتاه کردن اول ucsplit باز کردن بالا چه زمانی هنگامی که حاوی whenContainsAll وقتی خالی WhenNotEmpty WhenStartsWith WhenEndsWith دقیقا چه وقت وقتی نه دقیقا چه زمانی هست whenIsAscii whenIsUlid whenIsUuid WhenTest تعداد کلمه کلمات
رشته های
__()
تابع
__
، رشته ترجمه یا کلید ترجمه داده شده را با استفاده از
فایل های زبان
شما ترجمه می کند :
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>'); // <html>foo</html>
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("Hello XSS!");
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("Hello XSS!");</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("Hello XSS!");
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("Hello XSS!");</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 >>>