ใช้ preg_replace เพื่อลบตัวอักษรขึ้นบรรทัดใหม่ ในแถวของตารางเท่านั้น
เจอปัญหาว่าตอนส่งไลน์จากตารางแล้วมันมีบรรทัดว่างเกิดขึ้นเต็มเลย (เกิดจากการขึ้นบรรทัดใหม่ของ HTML) เลยต้องเอาตัวอักษรขึ้นบรรทัดใหม่ภายในแถวออก (<tr>.....</tr>) ด้วยความช่วยเหลือของ AI เลยได้โค้ดนี้มา
<?php
// ตัวอย่างข้อความ HTML ที่มีตารางและข้อความอื่นๆ
$htmlContent = "
<div>
<p>This is a paragraph.\nAnother line in the same paragraph.</p>
<table>
<tr>
<td>Row 1\nData 1</td>\n\n
\t\t<td>Row 1\nData 2</td>
</tr>
<tr>
<td>Row 2\nData 1</td>
<td>Row 2\nData 2</td>
</tr>
</table>
<p>Another paragraph with a newline\ncharacter.</p>
</div>";
// ใช้ preg_replace เพื่อจับคู่เฉพาะใน <tr> แล้วลบ \n ออก
$cleanedHtmlContent = preg_replace_callback(
'/<tr\b[^>]*>(.*?)<\/tr>/s',
function ($matches) {
return preg_replace('/[\r\n\t]+/', '', $matches[0]);
},
$htmlContent
);
// แสดงผลลัพธ์
echo $cleanedHtmlContent;
?>