PDA

View Full Version : اضافه كردن خودكار تگ



awasoft
یک شنبه 27 اسفند 1391, 20:23 عصر
سلام دوستان اگر ميشه سريع و خلاصه كمك كنيد
من يه صفحه متغبر دارم به نام
$html
حالا ميخوام يه خط كد برام بنويسي كه تمام تگهاي
img
رو بيابه و اونها رو داخل اين
<p>...</p>
قرار بده
يعني درواقع به قبل و بعدش تگ
<p>
اضافه كنه

ravand
یک شنبه 27 اسفند 1391, 21:07 عصر
if (strpos($chap,'<img>') !== false) {
$shoro11=strpos($chap,'<p>');
$payan11=strpos($chap,'</p>');
$akhar11=$payan11-$shoro11;
$chap=substr_replace($chap,"<p><img></p>",$shoro11,$akhar11+4);
}
خط اول بررسی میکنه ببینه تگ <img> وجود داره یا نه؟ اگه جود داشت ادامه ی برنامه خط های دوم و سوم شماره ی کاراکتر تگ های مورد نظر را بدست میاره
خط بعدی از هم کم میکنه تا محدوده ی مورد نظر را برای پاک کردن بدست بیاره . خط بعدیش با تابع substr_replace تگ <img> رو جایگزین میکنه عدد 4 هم تعداد کاراکتر های تگ </p>.
موفق باشی.

awasoft
یک شنبه 27 اسفند 1391, 21:20 عصر
if (strpos($chap,'<img>') !== false) {
$shoro11=strpos($chap,'<p>');
$payan11=strpos($chap,'</p>');
$akhar11=$payan11-$shoro11;
$chap=substr_replace($chap,"<p><img></p>",$shoro11,$akhar11+4);
}
خط اول بررسی میکنه ببینه تگ <img> وجود داره یا نه؟ اگه جود داشت ادامه ی برنامه خط های دوم و سوم شماره ی کاراکتر تگ های مورد نظر را بدست میاره
خط بعدی از هم کم میکنه تا محدوده ی مورد نظر را برای پاک کردن بدست بیاره . خط بعدیش با تابع substr_replace تگ <img> رو جایگزین میکنه عدد 4 هم تعداد کاراکتر های تگ </p>.
موفق باشی.
آقا ممنون از پاسخ گويي سريعت
يه يوال دارم الان مثلا اگر img اينطوري باشه حواب ميده ديگه آره؟
<img src="photo/1-13911226121548.jpg (http://barnamenevis.org/view-source:http://www.havades.ir/photo/1-13911226121548.jpg)" border="0">

اگر نميده بايد چه كار كرد؟

ravand
یک شنبه 27 اسفند 1391, 21:22 عصر
بله جواب میده.
بهتر بود اول تستش میکردی.

awasoft
یک شنبه 27 اسفند 1391, 21:30 عصر
شزمنده داداش من زياد وارد به php نيستم
الان من دارم يه افزونه رو دستكاري ميكنم و كار اين افزونه اينه كه هر صفحه اي بهش بدي متن رو برات در مياره و مشكل اين بود كه عكس ها رو نمي شناخت حالا الان امتحان كردم جواب نداد

// Replace all doubled-up <BR> tags with <P> tags, and remove fonts.
$html = preg_replace('!<br ?/?>[ \r\n\s]*<br ?/?>!', '</p><p>', $html);
$html = preg_replace('!</?font[^>]*>!', '', $html);
اين خطوطي كه خودش p رو آماده ميكنه من به كجاش اين if رو اضافه كنم؟

awasoft
یک شنبه 27 اسفند 1391, 21:38 عصر
فكر كنمي خودم فهميدم
بايد اون chap رو به html تغيير ميدادم درسته؟
خالا يه سوال ديگه اگر بخوام يه img يا div با كلاس خاص اين شكلي بشه چي؟
مثلا
<div class="npnews">
فقط با اين كلاس رو قبل و بعدش p بده

awasoft
دوشنبه 28 اسفند 1391, 19:02 عصر
آقا كس ديگه اي نيست راهنمايي ام بكنه؟
چند سوال ديگه هم دارم
خطوط زير به چه معني هست ؟ وچه كار ميكنند؟
1.

$readability->value += substr_count($allParagraphs->item($j)->textContent, ',');
البته ميدونم كه اين خط اگر توي تكست , 1پيدا كنه به readability اضافه ميكنه
حالا من ميخوام بپرسم چه كار كنم كه اگر عكس پيدا كرد امتياز اضافه كنه حالا هر عكسي بود بود
من خودم img گذاشتم ولي نتيجه نداد
2.


if(strlen($allParagraphs->item($j)->textContent) > 10) {
$readability->value++;
}