Code/PHP

[php] Javascript 코드를 php로 변환 ( JS -> PHP )

codens 2021. 6. 23. 09:35

    - javascript code convert to php code
    - 자바스크립트(js) 소스 코드 => php로 번역


//-----------------------------------------------------------------------------
* endel / js2php 
https://github.com/endel/js2php - 293 <== 추천
    - (2014.09 ~ ) 2018.09
    - ES6 문법 인식


    - 데모 페이지
http://endel.github.io/js2php/


    - 설치
npm install -g js2php

 

    - 사용
js2php src.js > out.php


//--------------------
// JS
function str_limit2(_str, limit, last) {
    var str = mb_substr(_str, 0, limit);
    if (mb_strlen(_str) > limit && limit > 4) {
        str += last ? last : "";
    }
    return str;
};

//-------------------------------------
// PHP , 변환된 결과
function str_limit2($_str, $limit, $last)
{
    $str = mb_substr($_str, 0, $limit);
    if (mb_strlen($_str) > $limit && $limit > 4) {
        $str += ($last) ? $last : "";
    }
    return $str;
}



//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
* sstur / js2php
https://github.com/sstur/js2php - 121   <== 비추
    - (2014.08 ~) 2018.10
    - ES6 문법 인식 안됨

    - 데모 페이지
https://sstur.github.io/js2php/demo/

    - 설치
    - node.js 필요
npm install -g jstophp

    - 사용
js2php src.js > out.php
        - 변환 결과는 파일의 맨 마지막에 위치

    - Unexpected token = 에러시
        - 원인 : 아직 ES6을 지원 안함
        - ES6 문법을 제거, 예) 함수 인자 기본값등

//--------------------
// JS
function str_limit2(_str, limit, last) {
    var str = mb_substr(_str, 0, limit);
    if (mb_strlen(_str) > limit && limit > 4) {
        str += last ? last : "";
    }
    return str;
};

//-------------------------------------
// PHP , 변환된 결과
$str_limit2 = new Func("str_limit2", function($_str = null, $limit = null, $last = null) use (&$mb_substr, &$mb_strlen) {
  $str = null;
  $str = call($mb_substr, $_str, 0.0, $limit);
  if (call($mb_strlen, $_str) > $limit && $limit > 4.0) {
    $str += is($last) ? $last : "";
  }
  return $str;
});



//-----------------------------------------------------------------------------
//-------------------------------------
// 참고
// pass
https://wtools.io/javascript-to-php-converter
https://stevs.net/converter/
https://codebeautify.org/html-to-php-converter

반응형