PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با تابع strip_tags



Marshall
January 27th, 2020, 03:50
با سلام خسته نباشید
من یه متنی دارم که بصورت عادی و نوشتاری اینطوری است بصورت مثال:

سلام
خوبی
خوبم
هوا عالی است.

و در حالت دیداری کد بصورت:


<p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p>
فرضا این $content است.

با استفاده از تابع:

strip_tags($content)

همه کلمات بهم چسبیده می شن اینطوری:

سلامخوبی خوبمهوا عالی است

یعنی هرچی کلمات بعد از اینتر است بهم چسبیده می شن!

الان من می خواهم که این متن بصورت اینطوری نمایش داده بشه

سلام خوبی خوبم هوا عالی است

ممنون می شم راهنمایی کنید با تشکر

sam_pontiac
January 27th, 2020, 08:56
با سلام خسته نباشید
من یه متنی دارم که بصورت عادی و نوشتاری اینطوری است بصورت مثال:

سلام
خوبی
خوبم
هوا عالی است.

و در حالت دیداری کد بصورت:


<p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p>
فرضا این $content است.

با استفاده از تابع:

strip_tags($content)

همه کلمات بهم چسبیده می شن اینطوری:

سلامخوبی خوبمهوا عالی است

یعنی هرچی کلمات بعد از اینتر است بهم چسبیده می شن!

الان من می خواهم که این متن بصورت اینطوری نمایش داده بشه

سلام خوبی خوبم هوا عالی است

ممنون می شم راهنمایی کنید با تشکر


سلام
یا باید مشخص کنید که <br> و فاصله رو استریپ نکنه :



$content = strip_tags($content, '<br>');


یا بصورت زیر اقدام کنید :



$content = preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $content);


لینک راهنما با یکسری مثال (https://www.php.net/manual/en/function.strip-tags.php)

Marshall
January 27th, 2020, 10:21
سلام
یا باید مشخص کنید که <br> و فاصله رو استریپ نکنه :



$content = strip_tags($content, '<br>');


یا بصورت زیر اقدام کنید :



$content = preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $content);


لینک راهنما با یکسری مثال (https://www.php.net/manual/en/function.strip-tags.php)

با سلام و تشکر
این مثالها رو من قبلا همه رو خوندم و استفاده کردم ولی جواب نگرفتم برای همین درخواست کمک کردم
بسته ی بیشتر تگ ها می تونه متن رو به پاراگراف بعدی منتقل کنه!
بصورت مثال

<br>,</p>,</div><\br>
و خیلی تگ های دیگه

من میخوام وقتی view-source صفحه رو می زنم به همون صورتی که گفتم باشه!
توی صفحه عادی این کد preg_replace('@<(w+)\b.*?>.*?</\1>@si', '', $content); کار می کنه ولی وقتی view-source رو میزنم کاراکترهای نامفهوم بهش اضافه میشه!
برای همین صفحه هم view-source اگه دقت کنید اینطوری است:

<p class="description">موضوع: <span class="threadtitle"><a href="showthread.php?t=213171" title="بازنگری این صفحه">مشکل با تابع strip_tags</a></span></p>
برای گوگل میخوام

Marshall
January 28th, 2020, 13:58
متاسفانه هنوز این مشکل من حل نشده

rezaonline.net
January 28th, 2020, 14:09
<?php
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<p>',' ',$txt);
echo strip_tags($txt);

Marshall
January 28th, 2020, 14:27
<?php
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<p>',' ',$txt);
echo strip_tags($txt);

با سلام
خیلی از پاسخ شما ممنونم
مشکلم حل شد
با تشکر

Marshall
January 29th, 2020, 03:07
<?php
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<p>',' ',$txt);
echo strip_tags($txt);

با سلام مجدد
ببخشید جناب رضا اگه تگ های <p> و <div> و بقیه تگ ها بصورت زیر باشند چطوری می شه!
آیا راهی هست؟ و یا خیلی تگ های مشابه زیر

<p style="text-align:right;">

rezaonline.net
January 29th, 2020, 14:07
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<','&nbsp;<',$txt);
echo strip_tags($txt);

Marshall
January 29th, 2020, 17:16
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<','&nbsp;<',$txt);
echo strip_tags($txt);

خیلی ممنون بعدش اینطوری شد:

<meta name="description" content="&amp;nbsp;&amp;nbsp;پارکینسون معمولاً درسنین بالای ۶۰ سال رخ می‌دهد، ولی به طور استثتناء در جوان‌ها هم مواردی از ابتلاء به پارکینسون وجود دارد که در این صورت ممکن است زمینه‌های ژنتیکی در ایجاد بیماری دخیل باشند.&amp;nbsp;&amp;nbsp;&amp;nbsp; ..." />

rezaonline.net
January 29th, 2020, 19:55
$txt = ' <p>سلام</p> <p>خوبی</p> <p>خوبم</p><br><p>هوا عالی است</p> ';
$txt = str_replace('<',' <',$txt);
echo strip_tags($txt);