この記事の例では、PHP カスタム関数を使用して JS エスケープを実装する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
//php function function escape($string) { $n = $bn = $tn = 0; $output = ''; $special = "-_.+@/*0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; while($n < strlen($string)) { $ascii = ord($string[$n]); if($ascii == 9 || $ascii == 10 || (32 <= $ascii && $ascii <= 126)) { $tn = 1;$n++; } elseif(194 <= $ascii && $ascii <= 223) { $tn = 2;$n += 2; } elseif(224 <= $ascii && $ascii <= 239) { $tn = 3;$n += 3; } elseif(240 <= $ascii && $ascii <= 247) { $tn = 4;$n += 4; } elseif(248 <= $ascii && $ascii <= 251) { $tn = 5;$n += 5; } elseif($ascii == 252 || $ascii == 253) { $tn = 6;$n += 6; } else { $n++; } $singleStr = substr($string,$bn,$tn); $charVal = bin2hex(iconv('utf-8', 'ucs-2', $singleStr)); if(base_convert($charVal, 16, 10) > 0xff) { if (!preg_match("/win/i", PHP_OS)) $charVal = substr($charVal, 2, 2).substr($charVal, 0, 2); $output .= '%u' . $charVal; } else { if(false !== strpos($special, $singleStr)) $output .= $singleStr; else $output .="%" . dechex(ord($string[$bn])); } $bn = $n; } return $output; }
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「PHP エンコーディングおよびトランスコーディング操作スキルの概要」をチェックしてください。 「php 文字列の使用法」の概要」、「完全な PHP 配列 (配列) 操作スキル」、「php ソート アルゴリズムの概要」、「PHP の一般的な走査アルゴリズムとテクニックの概要」、「PHP データ構造とアルゴリズムのチュートリアル」、「php プログラミング アルゴリズムの概要」 」、「PHP 数学的演算スキルのまとめ」、「PHP 正規表現の使い方のまとめ」、「PHP の操作と演算子の使い方のまとめ」、「PHP の共通データベース操作スキルのまとめ」
この記事が皆様のお役に立てれば幸いです。 PHPプログラミングで。
上記では、JS エスケープを実装するための js 関数と PHP カスタム関数の例を紹介しました。js 関数の内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。