انجمن ایران پی اچ پی
کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - نسخه قابل چاپ

+- https://forum.iranphp.org - انجمن ایران پی اچ پی
+-- انجمن: پی اچ پی/PHP (/Forum-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-PHP)
+--- انجمن: کدنویسی (/Forum-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C)
+--- موضوع: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ (/Thread-%DA%A9%D9%85%DA%A9-%D8%A2%DB%8C%D8%A7-%D8%AA%D8%A7%D8%A8%D8%B9%DB%8C-%D9%87%D8%B3%D8%AA-%DA%A9%D9%87-%D8%A8%D8%AA%D9%88%D9%86%D9%87-%D8%AA%DA%AF%D9%87%D8%A7%DB%8C-html-%D8%B1%D9%88-%D8%A7%D8%B2-%D9%85%D8%AA%D9%86-%D8%AC%D8%AF%D8%A7-%DA%A9%D9%86%D9%87%D8%9F)

صفحه‌ها: 1 2 3


کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - shahin_mahvareh - ۱۳۸۹ شهريور ۱۴ ۰۴:۲۲ عصر

سلام به همه دوستان.
2 تا سوال داشتم اگه کسی لطف کنه بهم جواب بده ممنون میشم.
-------------------------------------------------------------------------------------------------------------
1- چطور میشه وقتی ما در Data base جستو جو میکنیم،از متن چند خطی (مثلا 10 خطی) برای ما فقط 2 خط اون رو نشون بده و اون دوخط هم از اون واژه ای که ما سرچ کردیم و داخل Data base پیدا کرده به بعدشو نشون بده.یعنی مثلا خط سوم واژه ای رو که ما سرچ کردم پیدا میکنه و من میخوام از این واژه تا مثلا 200 کراکتر به بعدشو نشون به حدود 2خط.(مثل گوگل)
2-حالاسوال دومم دقیقا مربوط میشه به این قسمت. اگه این کلمه که ما سرچ کردیم داخل دیتا بیس در یین تگ بود (یعنی به صورت HTML )در دیتا بیس ذخیره شده بود چطوری اون رو بیاره و تا 200 کاراکتر بعد از اون کلمه رو نشون بده ولی تگ هارا نیاره و تگ ها رو کاراکتر حساب نکنه .(به عبارت دیگه تابعی که بتونه تگ های Html رو از متن جدا کنه).
مثلا اگه ما تو دیتا بیس کد زیر رو داشته باشیم:
کد:
<b><p>salam</p></b>
<p style="color:#C00">khobi ?</p>
<p>mer30</p>
....
می خوام که بعد از این که (مثلا کلمه ی khobi )سرچ شد، برای ما از اونجایی که اون کلمه رو پیدا کرده تگ های html رو از متن جدا کنه و تا 200 کاراکتر بعد از کلمه ی Khobi رو بیاره.
و خروجی ما به این صورت باشه:
کد:
khobi? mer30.... (تا 200 کاراکتر بعدش)
بدون هیچ افکتی یا اعمال شدن هر یک از این تگ ها.فقط خود متن.
ولی اینجا یه نقطه ی کوری هست که من نمیدونم چی کار کنم.ممنون میشم که راهنماییم کنید.این برنامه کارش اینه که ما یه کلمه رو search میکنیم و او پیدا میکنه و اگر تگ های html داشت اونو را حذف میکنه و تا 200 کاراکتر بعدشو برای ما میاره.خوب حالا اگه از اون کلمه به بعد 200 کاراکتر نبود یا اصلا کلمه ای بعد از کلمه ی سرچ شده ما نبود تکلیف چیه؟چه راه حلی متونید پیشنهاد کنید بهم؟


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - bestirani2 - ۱۳۸۹ شهريور ۱۴ ۰۴:۵۱ عصر

تابع زیر تگ های html رو حذف میکنه

کد PHP:
string strip_tags  string $str  [, string $allowable_tags  ] ) 



RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - shahin_mahvareh - ۱۳۸۹ شهريور ۱۴ ۰۶:۱۱ عصر

ممنون.پس بقیش چی؟


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - ARA - ۱۳۸۹ شهريور ۱۴ ۰۷:۲۳ عصر

کد PHP:
$Subject ='<h2>salam</h2>khobi?che mikoni bego bebinam babat chetore.';
$Pattern ='khobi';
    if(
preg_match_all"!$Pattern(.*)!si"$Subject $Split)){
        echo 
substr($Split[0][0],0,200);
    } 
شرمنده وقت نشد کامل بنویسم روش های دیگه هم هست اما این روش سبک تر هست
موفق باشید


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - bestirani2 - ۱۳۸۹ شهريور ۱۴ ۰۹:۳۷ عصر

سوال اولتون هم سریع خواندم
شما میتوانید با تابع postion مکان عبارت مورد نظر رو پیدا کنید و سپس از اون تا مقدار کارتر بعدش رو نشان دهید
در ضمن کاری که گوگل میکنه نمایش دادن description هست


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - shahin_mahvareh - ۱۳۸۹ شهريور ۱۴ ۱۰:۳۷ عصر

نقل قول: شما میتوانید با تابع postion مکان عبارت مورد نظر رو پیدا کنید و سپس از اون تا مقدار کارتر بعدش رو نشان دهید
در ضمن کاری که گوگل میکنه نمایش دادن description هست
ممنون از پاسختون خیلی بهم لطف کردین.میتونین یکم واضح تر برام توضیح بدین؟


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - bestirani2 - ۱۳۸۹ شهريور ۱۴ ۱۱:۱۰ عصر

(۱۳۸۹ شهريور ۱۴ ۱۰:۳۷ عصر)shahin_mahvareh نوشته شده توسط:  
نقل قول: شما میتوانید با تابع postion مکان عبارت مورد نظر رو پیدا کنید و سپس از اون تا مقدار کارتر بعدش رو نشان دهید
در ضمن کاری که گوگل میکنه نمایش دادن description هست
ممنون از پاسختون خیلی بهم لطف کردین.میتونین یکم واضح تر برام توضیح بدین؟

یک همچین چیزی

کد PHP:
select substring(locate('search'body)) from post where body like '%search' 

حالا این رو با عبارات منظم قاطی کنید و ...


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - zoghal - ۱۳۸۹ شهريور ۱۵ ۰۳:۴۱ صبح

بهترین و سریع ترین روش استفاده از عبارات منطقی Regular Expression هست
کد:
http://www.regular-expressions.info/examples.html
http://www.google.com/search?q=regex%2Bremove+html+tag&ie=utf-8&oe=utf-8&aq=t&client=firefox-a&rlz=1R1GGGL_en___IR369#hl=en&client=firefox-a&hs=Ojj&rlz=1R1GGGL_en___IR369&q=regular+expression%2Bremove+html+tags%2Bphp&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=8dc935edb8e4f8c4



RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - bestirani2 - ۱۳۸۹ شهريور ۱۵ ۰۴:۴۹ صبح

(۱۳۸۹ شهريور ۱۵ ۰۳:۴۱ صبح)zoghal نوشته شده توسط:  بهترین و سریع ترین روش استفاده از عبارات منطقی Regular Expression هست
کد:
http://www.regular-expressions.info/examples.html
http://www.google.com/search?q=regex%2Bremove+html+tag&ie=utf-8&oe=utf-8&aq=t&client=firefox-a&rlz=1R1GGGL_en___IR369#hl=en&client=firefox-a&hs=Ojj&rlz=1R1GGGL_en___IR369&q=regular+expression%2Bremove+html+tags%2Bphp&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=8dc935edb8e4f8c4
اتفاقاً عبارات منطقی همیشه کند ترین حالت هست


RE: کمک.آیا تابعی هست که بتونه تگهای html رو از متن جدا کنه؟ - zoghal - ۱۳۸۹ شهريور ۱۵ ۰۴:۵۲ صبح

دلیلتون رو هم میشه بفرمائید؟



صفحه‌ها: 1 2 3