PDA

View Full Version : substr کردن کدهای html



olampiad
سه شنبه 02 تیر 1394, 12:01 عصر
سلام و خسته نباشد
به این کد ی نگا بندازید.
این کد رو یه کاربر به وسیله ی ویرایشگرای متن نوشته.
حالا من میخوام 100 یا 200 یا 300 کاراکتر از این رو جدا کنم.
این کار رو انجام میدم ولی کد های html به هم میخورن.
یعنی مثلا <p> رو انتخاب میکنه ولی دیگه </p> رو نمیرسه که انتخاب کنه و این باعث میشه که کد ها به هم بخورن.
من میخوام تو متنم مثلا دو تا <p>و</p> رو برگردونه.
آیا واسه این کار راه حلی وجود داره.
خیلی ممنون



<?php
$str='<p>سلام<br><b> این متن فوق العادس </b> و به خاطر فوق العاده بودن دوستش دارم.<i> اینم متنی هستش خوب </i> من میخوام اینا رو از هم جدا کنم.مرسی</p><table border="1" cellpadding="1" cellspacing="1" style="width:500px"> <tbody> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </tbody></table>
<p>&nbsp;</p>
<p><strong>چ خبرا؟</strong></p>
';
echo substr($str,0,360);
?>
خیلی ممنون

olampiad
سه شنبه 02 تیر 1394, 12:13 عصر
سلام و خسته نباشید
من جطوری میتونم توی متن فقط تگ های اول رو انتخاب بکنم.
توی cms ها چطوری ادامه مطلب انتخاب می کنن.
مرسی

680100
سه شنبه 02 تیر 1394, 12:21 عصر
سلام
با تابع strip_tags میشه این کارو کرد که ابتدا کل تگ هارو حذف سپس limit کنی



$str='<p>سلام<b> این متن فوق العادس </b> و به خاطر فوق العاده بودن دوستش دارم.<i> اینم متنی هستش خوب </i> من میخوام اینا رو از هم جدا کنم.مرسی</p><table border="1" cellpadding="1" cellspacing="1" style="width:500px"> <tbody> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </tbody></table><p>&nbsp;</p><p><strong>چ خبرا؟</strong></p>';

$str_no_tag = strip_tags($str);

echo substr($str_no_tag,0,360);

موفق باشید

saeedvir
سه شنبه 02 تیر 1394, 17:41 عصر
شما نیاز به کلاس زیر دارید
http://simplehtmldom.sourceforge.net/

البته به نظرم روش دیگه هم هست.