PHPでよく使われる文字列整形関数、php関数のまとめ
文字列の書式設定は、文字列を特定の形式に処理することです。通常、ユーザーがフォームからサーバーに送信するデータは文字列の形式になっており、目的の出力効果を実現するには、これらの文字列を使用する前に特定の形式で処理する必要があります。一般的に見られる文字列書式設定関数は以下のとおりです:
注: PHP で提供される文字列関数によって処理される文字列のほとんどは、元の文字列を変更せず、フォーマットされた新しい文字列を返します。
1. スペースと文字列のパディング関数を削除します
スペースも有効な文字であり、文字列内の位置を占めます。ユーザーがフォームにデータを入力するとき、意図せずに意味のないスペースを入力してしまうことがよくあります。したがって、PHP スクリプトがフォームを通じて処理されたデータを受け取ると、最初に処理されるのは文字列内の余分なスペースやその他の意味のない記号です。この作業は、PHP で ltrim()、rtrim()、trim() 関数を使用して実行できます。これら 3 つの関数の構文形式は同じですが、機能が異なります。構文形式は次のとおりです:
string ltrim(string str[,string charlist]) //文字列の左側からスペースまたはその他の事前定義された文字を削除します
string rtrim(string str[,string charlist]) //文字列の右側から空白文字またはその他の事前定義された文字を削除します
stringrim(string str[,string charlist]) //文字列の両端から空白文字またはその他の事前定義された文字を削除します
これら 3 つの関数は、それぞれ文字列の左端、右端、両端から空白文字またはその他の事前定義された文字を削除するために使用されます。処理された結果は新しい文字列の形式で返され、元の文字列は変更されません。最初のパラメータ str は処理される文字列であり、必須です。 2 番目のパラメータ charlist は、削除する特殊シンボルを指定するために使用されるフィルタ文字列です。このパラメータはオプションです。フィルタ文字列を指定しない場合、デフォルトで次の文字が削除されます。
★"":スペース
★「0」:NULL
★「t」:タブ文字
★「n」:改行
★「r」: 入力
さらに、「..」記号を使用して、削除する必要がある範囲を指定することもできます。たとえば、「0..9」や「a..z」など、ASCII コード値の数字や小文字を削除します。 。使用コードは次のとおりです:
$str = "123 これはテストです ..."; // 左側の数字と右側の省略記号で始まるテスト文字列を宣言します
echo ltrim($str,"0..9"); //文字列の左側の数字をフィルタリングして出力します。これはテストです...
echo rtrim($str,".") //文字列の右側にあるすべての「.」をフィルタリングします。出力: 123 これはテストです
echo trim ($str, "0..9 A..Z ."); // 文字列の両端の数字、大文字、および "." をフィルタリングして出力: これはテストです
?>
必要に応じて文字列の内容をフィルターで除外できるだけでなく、str_pad() 関数を使用して必要に応じて文字列を埋めることもできます。データのペアリングや配置など、一部の機密情報を保護するために使用できます。その関数のプロトタイプは次のとおりです:
文字列 str_pad(文字列入力, int パッド長[,文字列 パッド文字列[, int パッドタイプ]])
この関数には 4 つのパラメータがあり、最初のパラメータは処理する文字列を指定します。 2 番目のパラメーターは、処理された文字列の長さを指定します。値が元の文字列の長さより小さい場合、操作は実行されません。 3 番目のパラメータは、パディングに使用される文字列を指定します。これはオプションのパラメータです。指定しない場合、デフォルトでスペースがパディングに使用されます。最後のパラメータはパディングの方向を指定します。これには、STR_PAD_BOTH、STR_PAD_LEFT、および STR_PAD_RIGHT の 3 つのオプションの値があり、それぞれ文字列の両端、左側、右側のパディングを表します。これもオプションのパラメータです。指定しない場合、デフォルト値は STR_PAD_RIGHT です。関数 str_pad() の使用コードは次のとおりです:
$str = "ランプ";
echo str_pad($str,10); //指定された長さは 10 で、デフォルトでは右側の「LAMP」を埋めるためにスペースが使用されます
echo str_pad($str,10,"-="STR_PAD_LEFT); //長さを 10 に指定し、左側にパディングする「-=-=-=LAMP」を指定します
echo str_pad($str,10,"_"STR_PAD_BOTH); //長さを10に指定し、左側を埋めるように「___LAMP___」を指定します
?>
2. 文字列の大文字と小文字の変換
PHP には 4 つの文字列大文字小文字変換関数が用意されています。それらはすべて、変換する文字列を渡すオプションのパラメータを 1 つだけ持っています。これらの関数を直接使用して、大文字と小文字の変換操作を完了できます。関数 strtoupper() は、指定されたすべての文字列を大文字に変換するために使用され、関数 strto lower() は、指定されたすべての文字列を小文字に変換するために使用されます。最初の文字は大文字に変換されますが、残りの文字は変更されません。関数 ucwords() を使用して、指定された文字列内のスペースで区切られたすべての単語の最初の文字が大文字に変換されます。以下に示すように、次のプログラムはこれらの関数の使用コードです。
echo strto lower($lamp); //出力: ランプは Linux、Apache、mysql、php で構成されます
echo strtoupper($lamp); //出力: LAMP は LINUX、APACHE、MYSQL、PHP で構成されます
echo ucfirst($lamp); //出力: Lamp は Linux、Apache、MySQL、PHP で構成されています
echo ucwords($lamp); //出力: Lamp は Linux、Apache、MySQL、PHP で構成されます
?>
echo ucfirst(strto lower($lamp)); //出力: Lamp は Linux、Apache、mysql、php
で構成されます ?>
3. HTML タグに関連する文字列の書式設定
URL に添付された HTML 入力フォームとリソースは、ユーザーがサーバーにデータを送信する方法です。適切に扱わないと、ハッカーがサーバーを攻撃する入り口となる可能性があります。たとえば、ユーザーが記事を公開するときに、その記事に HTML 書式設定タグや JavaScript ページ リダイレクト コードが含まれている場合、それを直接出力して表示すると、ページのレイアウトが確実に変更されます。これらのコードはブラウザに送信されるため、ブラウザはそれらを有効なコードとして解釈します。したがって、PHP スクリプトでは、ユーザーが送信したデータ コンテンツが最初に処理される必要があります。 PHP は、HTML テキストの出力を効果的に制御できる、非常に包括的な HTML 関連の文字列書式設定関数を提供します。
①関数nl2br()
ブラウザに出力される文字列「」は改行をマークしており、多くの人は改行記号として「n」を使用することに慣れていますが、ブラウザはこの文字列の改行文字を認識しません。複数行のテキストがある場合でも、ブラウザにはその行のみが表示されます。 nl2br() 関数は、文字列内の各改行「n」の前に HTML 改行文字「
」を挿入します。この関数の使用方法は次のとおりです:
」マークを追加します
/*次の 2 行の結果を出力します
1 行。
別の行。
*/
?>
②関数htmlspecialchars()
ブラウザに HTML タグを直接解析させたくない場合は、HTML タグ内の特殊文字を HTML エンティティに変換する必要があります。たとえば、「」に変換します。このように、ブラウザは HTML タグを解析せずに、ブラウザ内の HTML テキストをそのまま出力します。 PHP で提供される htmlspecialchars() 関数は、一部の事前定義された文字列を HTML エンティティに変換できます。この関数は、掲示板やゲスト メッセージ ボードなど、ユーザーが指定したテキストに HTML タグが含まれないようにするために使用されます。この関数で変換できる文字は次のとおりです:★「&」(アンパサンド)は「&」に変換されます。
★「""(ダブルクォーテーションマーク)は「"」に変換されます。
★「'」(シングルクォーテーション)は「'」に変換されます。
★「
★「>」(より大きい)は「>」に変換されます。
$str = "WebServer: & 'Linux' & 'Apache'" //文字列には HTML タグと一重引用符が含まれます
echo htmlspecialchars($str,ENT_COMPAT); //HTMLタグを変換し、二重引用符を変換します
echo "
n";
echo htmlspecialchars($str,ENT_QUOTES); //HTMLタグを変換し、2種類の引用符を変換します
echo "
n";
echo htmlspecialchars($str,ENT_NOQUOTES); //HTMLタグを変換し、引用符を外して変換します
echo "
n";
?>

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

セッションIDは、機密操作の前、30分ごとにログイン時に定期的に再生する必要があります。 1.セッション固定攻撃を防ぐためにログインするときにセッションIDを再生します。 2。安全性を向上させるために、敏感な操作の前に再生します。 3.定期的な再生は長期的な利用リスクを減らしますが、ユーザーエクスペリエンスの重量を量る必要があります。

PHPのセッションCookieパラメーターの設定は、session_set_cookie_params()関数を通じて達成できます。 1)この関数を使用して、有効期限、パス、ドメイン名、セキュリティフラグなどのパラメーターを設定します。 2)session_start()を呼び出して、パラメーターを有効にします。 3)ユーザーログインステータスなど、ニーズに応じてパラメーターを動的に調整します。 4)セキュリティを改善するために、セキュアとhttponlyフラグを設定することに注意してください。

PHPでセッションを使用する主な目的は、異なるページ間でユーザーのステータスを維持することです。 1)セッションはsession_start()関数を介して開始され、一意のセッションIDを作成し、ユーザーCookieに保存します。 2)セッションデータはサーバーに保存され、ログインステータスやショッピングカートのコンテンツなど、さまざまなリクエスト間でデータを渡すことができます。

サブドメイン間でセッションを共有する方法は?一般的なドメイン名にセッションCookieを設定することにより実装されます。 1.セッションCookieのドメインをサーバー側の.example.comに設定します。 2。メモリ、データベース、分散キャッシュなど、適切なセッションストレージ方法を選択します。 3. Cookieを介してセッションIDを渡すと、サーバーはIDに基づいてセッションデータを取得および更新します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
