در این سؤال از شما خواسته شده تا اطلاعات مفید را از متن استخراج کنید و یا تغییراتی بر روی آن اعمال نمایید. به این منظور، باید سه تابع با مشخصات زیر بنویسید که هر کدام یک ورودی متنی دارد و پاسخ درخواستی را برمیگرداند:
- تابع
findPhoneNumbers
: این تابع شماره تلفنهای همراه موجود در متن را تشخیص داده و در قالب یک آرایه برمیگرداند. شمارههای همراه دو حالت دارد:
- با
09
شروع شده و دارای ۱۱ رقم است. - با
+9891
شروع شده و دارای ۱۳ کاراکتر است.
اگر شماره تلفنی در متن ورودی یافت نشود، تابع باید یک آرایهی خالی برگرداند.
مثال:
<?php
print_r(findPhoneNumbers("In shomareye mane: 09101007567 vali behtare +989101007567 ro save koni. In 9111231234 va0914513 kar nemikonan."));
خروجی موردنظر:
Array
(
[0] => 09101007567
[1] => +989101007567
)
- تابع
findHashtags
: تمامی کلماتی که با علامت#
شروع میشوند و تنها شامل اعداد و حروف انگلیسی است را تشخیص داده و در قالب یک آرایه از هشتگها برمیگرداند. این هشتگها باید شامل حداقل دو حرف به غیر از#
باشند.
اگر هشتگی در متن ورودی یافت نشود، تابع باید یک آرایهی خالی برگرداند.
مثال:
<?php
print_r(findHashtags("Salam #goodMOrning khoobi#to #4yourlove #bi-man"));
خروجی موردنظر:
Array
(
[0] => #goodMOrning
[1] => #4yourlove
)
- تابع
boldEmails
: این تابع تمامی ایمیلهای موجود در متن را درشتدانه (بولد) میکند. این تابع تنها ایمیلهایی که منطبق بر فرمت username@domain.tld هستند را پشتیبانی میکند که:
- نام کاربری تنها میتواند از کاراکتر انگلیسی، عدد، آندرلاین و نقطه تشکیل شود.
- دامنه تنها میتواند از کاراکتر انگلیسی و یا عدد تشکیل شود.
- tld یک کلمه سه حرفی از کاراکترهای انگلیسی است.
- کاراکترهای انگلیسی میتوانند کوچک یا بزرگ باشند.
مثال:
<?php
print_r(boldEmails("Soalatono az info_test@Quera.ir ya info@Quera123.com ya test_#23@alaki.core beporsid"));
خروجی موردنظر:
Soalatono az info_test@Quera.ir ya <b>info@Quera123.com</b> ya test_#23@alaki.core beporsid
نکات
- تمامی موارد درخواستی (شماره همراه، ایمیل و هشتگ) با فاصله از دیگر کلمات جدا شدهاند و در غیر این صورت، نباید در نظر گرفته شوند.
- ترتیب اعضا در آرایهی خروجی مهم نیست.
آنچه باید آپلود کنید
هر سه تابع خود را در یک فایل PHP قرار دهید و آن را آپلود کنید.
ارسال پاسخ برای این سؤال