ورود

View Full Version : تابع trim() چه جوری کار می کنه ؟



Creative Force
جمعه 26 بهمن 1403, 20:57 عصر
سلام دوستان این کد رو مثال ببنید:




$s1='mohammad alizade'; echo trim($s1,'madzd');


چرا خروجی به من می ده ohammad alizade
جوابی که من در اوردم این هستش ohlie یعنی کارکتر هایی که شامل این رشته می شن یعنی madzd رو حذف کردم این درومد





می تونید کمک کنید ؟

mazoolagh
شنبه 27 بهمن 1403, 12:35 عصر
سلام و روز خوش

1- خب این خروجی درسته:
نگاه میکنه به آغاز و پایان s1
در آغاز حرف m هست که در پترن هست پس پاک میشه (در ضمن پترن یک حرف d اضافی داره که اثری نداره)
در پایان حرف e هست که در پترن نیست - کاری انجام نمیده
حالا عبارت شده `ohammad alizade`
که آغاز و پایانش در پترن نیست و تابع کارش تموم میشه.

2- حالا اگر پترن رو 'hmoae' بگذارین:
در پایان فقط حرف e در پترن هست
ولی در آغاز یکی یکی m بعد o بعد h بعد a بعد هر دو m و بعد a پاک میشه
تا به d میرسه که در پترن نیست و کار تمومه: نتیجه میشه `d alizad`

3- اگر هدف برداشتن یک سری حروف هست
جوری که به `ohlie` برسین باید str_replace استفاده کنین:

str_replace(array('m','a','d','z',' '), '', $s1)
یا اینجوری بنویسن

str_replace(str_split('madz '), '', $s1)

4- وقتی کد php رو دیباگ میکنین یا کلا برای تست و ...
از echo استفاده نکنین - بخصوص برای string ،
از var_dump استفاده کنین که دقیقا هم اندازه رو برمیگردونه،
هم در " میذاره که میتونین فاصله های آغاز و پایانش رو ببینین.