検索
ホームページバックエンド開発PHPチュートリアルPHP でよく使用される文字列フォーマット関数の概要、php 関数_PHP チュートリアル

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() を使用して、指定された文字列内のスペースで区切られたすべての単語の最初の文字が大文字に変換されます。以下に示すように、次のプログラムはこれらの関数の使用コードです。

コードをコピーします コードは次のとおりです:
$lamp = "lamp は Linux、Apache、MySQL、PHP で構成されています";
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 で構成されます
?>

これらの関数は、説明に記載されているとおりにのみ機能します。文字列の最初の文字が大文字で残りが小文字であることを確認するには、一致メソッドを使用する必要があります。以下に示すように:

コードをコピーします コードは次のとおりです:
$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 改行文字「
」を挿入します。この関数の使用方法は次のとおりです:


コードをコピーします コードは次のとおりです:
echo nl2br("One line.nAnother line."); //「n」の前に「
」マークを追加します
/*次の 2 行の結果を出力します
1 行。

別の行。
*/
?>

②関数htmlspecialchars()

ブラウザに HTML タグを直接解析させたくない場合は、HTML タグ内の特殊文字を HTML エンティティに変換する必要があります。たとえば、「」に変換します。このように、ブラウザは HTML タグを解析せずに、ブラウザ内の HTML テキストをそのまま出力します。 PHP で提供される htmlspecialchars() 関数は、一部の事前定義された文字列を HTML エンティティに変換できます。この関数は、掲示板やゲスト メッセージ ボードなど、ユーザーが指定したテキストに HTML タグが含まれないようにするために使用されます。この関数で変換できる文字は次のとおりです:

★「&」(アンパサンド)は「&」に変換されます。

★「""(ダブルクォーテーションマーク)は「"」に変換されます。
★「'」(シングルクォーテーション)は「'」に変換されます。
★「 ★「>」(より大きい)は「>」に変換されます。

この関数のプロトタイプは次のとおりです:


コードをコピーします コードは次のとおりです:
string htmlspecialchars(string string [,int quote_style[,string charset]])

この関数の最初のパラメータは、処理対象の HTML タグを含む文字列です。 2 番目のパラメーターは、引用符の変換方法を決定するために使用されます。デフォルト値は、二重引用符のみを変換し単一引用符を保持する ENT_COMPAT、両方の種類の引用符を変換する ENT_QUOTES、および引用符を変換しない ENT_NOQUOTES です。 3 番目のパラメータは、処理される文字列の文字セットを指定するために使用されます。デフォルトの文字セットは「ISO88511-1」です。

コードをコピーします コードは次のとおりです:



$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";
?>

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?Apr 23, 2025 am 12:16 AM

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

PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?Apr 23, 2025 am 12:13 AM

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

session.gc_maxlifetime構成設定とは何ですか?session.gc_maxlifetime構成設定とは何ですか?Apr 23, 2025 am 12:10 AM

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

PHPでセッション名をどのように構成しますか?PHPでセッション名をどのように構成しますか?Apr 23, 2025 am 12:08 AM

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

セッションIDをどのくらいの頻度で再生する必要がありますか?セッションIDをどのくらいの頻度で再生する必要がありますか?Apr 23, 2025 am 12:03 AM

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

PHPでセッションCookieパラメーターをどのように設定しますか?PHPでセッションCookieパラメーターをどのように設定しますか?Apr 22, 2025 pm 05:33 PM

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

PHPでセッションを使用する主な目的は何ですか?PHPでセッションを使用する主な目的は何ですか?Apr 22, 2025 pm 05:25 PM

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

サブドメイン間でセッションをどのように共有できますか?サブドメイン間でセッションをどのように共有できますか?Apr 22, 2025 pm 05:21 PM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

mPDF

mPDF

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

SublimeText3 英語版

SublimeText3 英語版

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン