عبارات منظم


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

  1. تابع findPhoneNumbers: این تابع شماره تلفن‌های همراه موجود در متن را تشخیص داده و در قالب یک آرایه برمی‌گرداند. شماره‌های همراه دو حالت دارد:

    • با ‍‍09 شروع شده و دارای ۱۱ رقم است.
    • با +9891 شروع شده و دارای ۱۳ کاراکتر است.

اگر شماره تلفنی در متن ورودی یافت نشود، تابع باید یک آرایه‌ی خالی برگرداند.

مثال:🔗

<?php

print_r(findPhoneNumbers("In shomareye mane: 09101007567 vali behtare +989101007567 ro save koni. In 9111231234 va0914513 kar nemikonan."));
PHP

خروجی موردنظر:🔗

Array
(
    [0] => 09101007567
    [1] => +989101007567
)
Plain text
  1. تابع findHashtags: تمامی کلماتی که با علامت #‍ شروع می‌شوند و تنها شامل اعداد و حروف انگلیسی است را تشخیص داده و در قالب یک آرایه از هشتگ‌ها برمی‌گرداند. این هشتگ‌ها باید شامل حداقل دو حرف به غیر از # باشند.

اگر هشتگی در متن ورودی یافت نشود، تابع باید یک آرایه‌ی خالی برگرداند.

مثال:🔗

<?php

print_r(findHashtags("Salam #goodMOrning khoobi#to #4yourlove #bi-man"));
PHP

خروجی موردنظر:🔗

Array
(
    [0] => #goodMOrning
    [1] => #4yourlove
)
Plain text
  1. تابع 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"));
PHP

خروجی موردنظر:🔗

Soalatono az info_test@Quera.ir ya <b>info@Quera123.com</b> ya test_#23@alaki.core beporsid
Plain text

نکات🔗

  • تمامی موارد درخواستی (شماره همراه، ایمیل و هشتگ) با فاصله از دیگر کلمات جدا شده‌اند و در غیر این صورت، نباید در نظر گرفته شوند.
  • ترتیب اعضا در آرایه‌ی خروجی مهم نیست.

آن‌چه باید آپلود کنید🔗

هر سه تابع خود را در یک فایل PHP قرار دهید و آن را آپلود کنید.