PDA

View Full Version : انتخاب قسمتی از رشته



masiha68
دوشنبه 20 آبان 1392, 12:01 عصر
یه تابعی هست که قسمتی از یک رشته رو جدا می کنه substr رو نمی گم ... می خوام مثلا ده کلمه از یک رشته رو جدا کنم
کسی اسم این تابه رو میدونه

masiha68
دوشنبه 20 آبان 1392, 12:39 عصر
شرمنده محسن جان اینم نیست
در کل مشل من اینه که می خوام داده هایی رو جدا کنم که از یک ادیتور گرفته شدن و همراه این داده ها تگ های اچ تی ام ال هم هستن و گاهی یکی از تگ ها نصفه جدا میشه و صفحه بهم میریزه ... از substr استفاده کردم نشد ... حالا یه تابع می خوام که کلمه ها رو جدا کنه ... که بازم نمیشه
این پست رو http://barnamenevis.org/showthread.php?386535-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%82%D8%B3%D9%85%D8%AA%DB%8C-%D8%A7%D8%B2-%D9%85%D8%AA%D9%86-%D8%A8%D8%A7-substr دنبال کردم ولی بازم نتیجه نداد

SlowCode
دوشنبه 20 آبان 1392, 12:54 عصر
این کد جواب میده:


define('MAX',4);

$text = "This is an example text, this is a test.";
$words_array = explode(" ", $text,MAX+1);
unset ($words_array[MAX]);

print_r(implode(" ",$words_array));


اول کلمه ها رو با limit حداکثر کلمات(مثلا 10) به علاوه یک جدا میکنیم بعد آخرین عضو آرایه رو حذف میکنیم(چون باقی کلمات توش ذخیره میشه)
بعد با implode به رشته تبدیل میکنیم.

masiha68
دوشنبه 20 آبان 1392, 13:04 عصر
حل نشد
مشکل از ادیتور و کدهای اچ تی ام ال هستش ... باید یه کدی باشه که تگ های نبسته ی اچ تی ام ال رو تشخیص بده و اونا رو ببنده
با ایند کی که شما گذاشتین فرض می کنیم 100 کلمه است که دورشون یک تگه و ما 10 تا رو جدا می کنیم . اونوقت اون تگ اولیه با 10 تا میره و تا اخریه می مونه

SlowCode
دوشنبه 20 آبان 1392, 13:26 عصر
یه تابعی هست که قسمتی از یک رشته رو جدا می کنه substr رو نمی گم ... می خوام مثلا ده کلمه از یک رشته رو جدا کنم
کسی اسم این تابه رو میدونه
این کد رو بر اساس صورت سوال اولتون نوشتم.
الان قضیه فرق کرد!:متفکر:


مشکل از ادیتور و کدهای اچ تی ام ال هستش ... باید یه کدی باشه که تگ های نبسته ی اچ تی ام ال رو تشخیص بده و اونا رو ببنده
میتونی با strstr چک کنی که مثلا کاراکتر </ یا < نوشته شده یا نه. بعد اگه پیدا نشد به رشته اضافش کن.