มาฝึกเขียน JavaScript กันเถอะ : การใช้ฟังก์ชั่น trim() split() เพื่อเช็คคำทีละบรรทัด

โดย CyberMAN

JavaScript ตรวจสอบการเปิด-ปิด PHP tags



<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<textarea id="text" rows="5" >
  <?php

  echo Hello();

  ?>
</textarea>
<input type="button" id="btn_run" value="Run"/>
<div id="result"></div>
</body>
</html>

จากโค้ด HTML ด้านบนจะได้ผลลัพธ์ดังนี้

และเมื่อกดปุ่ม Run จะทำงานในฟังก์ชั่น $('#btn_run').click()

<script>
$('#btn_run').click(function(){
 $('#result').html('');
    var lines = $('textarea').val().trim().split('\n');  //แยกข้อความออกด้วยตัวแบ่งบรรทัด
    var rows = lines.length;            //นับจำนวนอาร์เรย์ หรือจำนวนบรรทัดที่ได้ใน lines
    if(lines[0].trim() == '<?php'){  //ตรวจสอบบรรทัดแรก เป็นตัวเปิดแท็ก PHP
      $('#result').append('<br/>Open tag => OK');
  }
  if(lines[rows-1].trim() == '?>'){ //ตรวจสอบแถวสุดท้าย เป็นตัวปิดแท็ก PHP
      $('#result').append('<br/>Close tag => OK');
  }
 });
</script>

ในฟังก์ชั่นด้านบนนี้จะมีการตรวจสอบบรรทัดแรก และบรรทัดสุดท้าย เมื่อตรงกับที่กำหนดไว้จะแสดงข้อความไปยัง <div> ที่มี id ตรงกับคำว่า result

$('#result').append('<br/>Open tag => OK');






ผลลัพธ์เมื่อมีแท็กเปิดปิดถูกต้อง



กรณีไม่ได้เปิดแท็ก PHP หรือ ไม่ได้ปิดแท็ก PHP จะมีข้อความแค่บรรทัดเดียว





ถ้าต้องการให้แสดงทั้ง 2 บรรทัด โดยแจ้ง FALSE เมื่อไม่ได้เปิด-ปิด แท็ก PHP ให้เพิ่มส่วนของ else ในคำสั่งตรวจสอบแท็กจะได้โค้ดทั้งหมดดังนี้

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<textarea id="text" rows="5" >
  <?php
  echo Hello();
  ?>
</textarea>
<input type="button" id="btn_run" value="Run"/>
<div id="result"></div>
<script>
$('#btn_run').click(function(){
    $('#result').html('');
    var lines = $('textarea').val().trim().split('\n');  //แยกข้อความออกด้วยตัวแบ่งบรรทัด
    var rows = lines.length;            //นับจำนวนอาร์เรย์ หรือจำนวนบรรทัดที่ได้ใน lines
    if(lines[0].trim() == '<?php'){  //ตรวจสอบบรรทัดแรก เป็นตัวเปิดแท็ก PHP
        $('#result').append('<br/>Open tag => OK');
    }else{
        $('#result').append('<br/>Open tag => FALSE');
    }
    if(lines[rows-1].trim() == '?>'){ //ตรวจสอบแถวสุดท้าย เป็นตัวปิดแท็ก PHP
        $('#result').append('<br/>Close tag => OK');
    }else{
        $('#result').append('<br/>Close tag => FALSE');
    }
 });
</script>
</body>
</html>


จะได้ผลลัพธ์ของโปรแกรมดังนี้


ทดลองการทำงานของโค้ดได้ที่ Demo



PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น
สนใจสั่งซื้อราคาสุดคุ้ม >> http://fastcoding.phpcodemania.com/