|
|
|
ต้องการสร้างโปรแกรมลบ tag comment HTML ครับ โดยเขียนโปรแกรม PHP |
|
|
|
|
|
|
|
ไม่ลบคอมเม้นออกเลยละครับ แล้วจะเขียนใว้ทำไมอ่ะ ถ้าอยากลบออก ไม่เข้าใจครับ
|
|
|
|
|
Date :
2018-09-18 14:57:30 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หมายถึงจะทำโปรแกรมที่มีฟอร์มไว้ใส่โค้ด HTML ยาวๆเวลาเราเอามาจากที่อื่น แล้วเอาโค้ดมาผ่านโปรแกรมเราแล้วให้โปรแกรมเราลบแท็ก comment ให้เอง โดยที่ไม่ต้องมานั่งไล่ลบเองครับ
|
|
|
|
|
Date :
2018-09-18 14:59:36 |
By :
packetz65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อเข้าใจละ เดี๋ยวคิดก่อนนะ
|
|
|
|
|
Date :
2018-09-18 15:26:11 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ขอบคุณครับ
|
|
|
|
|
Date :
2018-09-18 15:34:49 |
By :
packetz65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$html = 'xxxxx';
echo preg_replace('/ข้อความที่ต้องการ/g', $html);
ศึกษาดูครับ preg_replace(); regular expression ใช้งานได้อีกเยอะ
|
|
|
|
|
Date :
2018-09-18 16:32:52 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมนึก preg_replace ไม่ออกอะ
เลยเขียน ให้มัน loop แต่มันก็ยังมี comment แบบ บรรทัดเดียว ต้องไปเขียน condition เพิ่มเองละกัน
Code (PHP)
$str ='<!-- d meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Star Admin Free Bootstrap-4 Admin Dashboard Template</title>';
removeComment($str);
function removeComment($str) {
$strings = str_split($str);
$converted = "";
$append = true;
foreach($strings as $k => $string) {
if($string == "!" && $strings[$k-1] == "<") {
$converted = substr($converted, 0, -1);
$append = false;
$skip = true;
}else if($string == ">" && $strings[$k-2] == "-"){
$append = true;
$skip = true;
}else {
$skip = false;
}
if($append && !$skip) {
$converted .= $string;
}
}
return htmlentities($converted);
}
|
|
|
|
|
Date :
2018-09-18 16:41:51 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆครับ เดี๋ยวลองดูครับ
|
|
|
|
|
Date :
2018-09-18 16:48:27 |
By :
packetz65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://stackoverflow.com/a/6305789/128761
ผมเคยอ่านเจอใน stackoverflow ว่า regular expression ไม่เหมาะกับกรณี html แบบนี้.
https://stackoverflow.com/a/1732454/128761
Code (PHP)
$html = '<html>
<body>
<!--a comment-->
<div>some content</div><br>
Hello.
<p>Hello in paragraph.</p>
<p>Lorem Ipsum paragraph.</p>
<!--another comment-->
<!--------------another comment with wrong dashes------------>
</body>
</html>';
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput = false;
$dom->loadHTML($html, LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);
foreach ($xpath->query('//comment()') as $comment) {
$comment->parentNode->removeChild($comment);
}
$body = $xpath->query('//body')->item(0);
$newHtml = $body instanceof DOMNode ? $dom->saveHTML() : 'something failed';
// remove blank line.
$htmlExp = explode("\n", str_replace(["\r\n", "\r", "\n"], "\n", $newHtml));
foreach ($htmlExp as $key => $htmlLine) {
if (trim($htmlLine) === '') {
unset($htmlExp[$key]);
}
}
$newHtml = implode("\n", $htmlExp);
//echo '<hr>'."\n";
var_dump($newHtml);
|
ประวัติการแก้ไข 2018-09-19 07:32:53 2018-09-19 07:45:24 2018-09-19 08:55:05
|
|
|
|
Date :
2018-09-18 23:02:58 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|