<dd id="pma99"><wbr id="pma99"><var id="pma99"></var></wbr></dd>
    1.  などのタグを自動的に追加するため): 
      $body = Tidy_get_body($tidy); var_dump を使用していくつかの $body 構(gòu)造を調(diào)べると、各タグが対応する屬性を持つ対応するオブジェクトに変換されることがわかります。たとえば、 sdf<\/a> のようなステートメントに対応する屬性は次のとおりです。 =”#”>sdf<\/a>”
      child=>array{[0]=> テキストノードオブジェクト、値は sdf}
      attribute=array{”href”=> ;” #”}
      ….. その他の屬性
      ご覧のとおり、実際には、HTML の整合性を破壊しないように、a タグに対応するノードの下にあるテキスト ノードの値を個別に処理できます。當初は、aラベルのテキストノードの値を変更すると、それに合わせてaラベルの値も変更されると考えていましたが、その場合はaに対応するノードの値を直接返せばOKです。殘念ながら、そのようなものになるとは予想していなかったので、その中のテキストを自分で記述する必要がありました。
      Tidy オブジェクトの構(gòu)造を理解した後は、すべてのノードを走査するだけで、div タグを見つけて內(nèi)部のノードの処理を開始することができます。コードは次のとおりです。
      if(mb_strwidth($subchild->value, 'utf-8') >= $len)
      {
      $subchild->value = mb_strimwidth($subchild) -> 値, 0, $len, '…', 'utf-8');
      $trimed_str .= $subchild->value;
      else; >{
      $trimed_str .= $subchild->value;
      $len = $len - mb_strwidth($subchild->value, 'utf-8'); は子ノードです。ここでは、文字列の長さを取得するために mb_strwidth が使用されていることに注意してください。この mb_strwidth を強くお勧めします。これは非常に便利です。中國語を長さ 2 文字として扱い、ここでのニーズを正確に満たします。さらに、文字列をインターセプトするときに mb_strimwidth が使用されます。この関數(shù)は中國語も 2 文字として扱います。mb_ で始まる関數(shù)は非常に使いやすいです。
      具體的なコードは書きません。これは要件に基づいて書かれており、普遍的な形式に作られていないからです。いつかそれを普遍的なものにして公開する時間ができました。
      さらに、FireFox が text-overflow 屬性をサポートしていないのは殘念です。サポートしていなければ、バックグラウンドで苦労して切り詰める必要はありません。もっと良い方法があれば、ぜひ提案してください!ご協(xié)力をよろしくお願いいたします。\n
      <\/p>"}

      国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

      ホームページ php教程 php手冊 PHP HTMLコード文字列インターセプトコード

      PHP HTMLコード文字列インターセプトコード

      Jun 13, 2016 pm 12:25 PM
      AAA class div html php コード インターセプト データ はい

      與えられるデータは、次のような HTML コード文字列です。

      Zhang Sanコメント Li Si 長いリストを含む記事 /div>
      インターセプトする場合は、div タグ內(nèi)のコンテンツをインターセプトし、HTML タグを保持し、その中のテキストのみを処理する必要があります。たとえば、「李思」の「李」という単語をインターセプトするだけかもしれませんが、このようにフロントエンドに置くと、「李思」の前の a タグが閉じられないので、インターセプト後に、 HTML 構(gòu)文が正しいことを確認する必要があります。
      この問題は本當に解決するのが簡単ではなく、私は二日間憂鬱になりました。これは単なる文字列ですが、內(nèi)容は HTML コードであり、DOM は存在しないことに注意してください。フロントエンドで処理できれば、DOM を直接取得して內(nèi)部のノードを処理し、最終的に innerHTML などを出力することができます。今はうまくいかないので、考えを変えなければなりません。同僚のアイデアは次のとおりです。
      文字列の各文字をトラバースします。タグを設(shè)定し、タグの先頭で < タグが見つかった場合は 1 に設(shè)定し、その後の文字はカウントされません。ラベル內(nèi)の文字列を処理するときは、まず現(xiàn)在の文字エンコーディングが中國語であるかどうかを判斷する必要があります。一般に、PHP で UTF-8 でエンコードされた中國語の文字の長さは 3 です。したがって、中國語の文字エンコーディングが見つかった場合は、次のようにする必要があります。カウントされていないものを 2 つスキップします... この時點で、私の頭は大きくなり始めています。個人的には、この方法は非常に不快だと思います。まず、この種の絶妙なロジックを制御するのは簡単ではありません。また、UFT-8 エンコーディングで生成される中國語の長さは 3 または 4 になる可能性があるため、コードの厳密さには疑問があります。 。
      私の個人的なアイデアは、Tidy を使用することです (具體的な使用方法については、PHP マニュアルを參照してください)。昨日Tidyについて勉強したところ、これがとても便利であることがわかりました。まず、この文字列を次のように Tidy オブジェクトに変換します。
      $tidy = Tidy_parse_string($str, array(), 'utf8'); // 最後のステップは、これが utf8 であることに注意してください。 utf -8 ではないため、中間接続はありません。
      次に、$tidy で本文を取得します (変換後、$tidy が などのタグを自動的に追加するため):
      $body = Tidy_get_body($tidy); var_dump を使用していくつかの $body 構(gòu)造を調(diào)べると、各タグが対応する屬性を持つ対応するオブジェクトに変換されることがわかります。たとえば、 sdf のようなステートメントに対応する屬性は次のとおりです。 =”#”>sdf”
      child=>array{[0]=> テキストノードオブジェクト、値は sdf}
      attribute=array{”href”=> ;” #”}
      ….. その他の屬性
      ご覧のとおり、実際には、HTML の整合性を破壊しないように、a タグに対応するノードの下にあるテキスト ノードの値を個別に処理できます。當初は、aラベルのテキストノードの値を変更すると、それに合わせてaラベルの値も変更されると考えていましたが、その場合はaに対応するノードの値を直接返せばOKです。殘念ながら、そのようなものになるとは予想していなかったので、その中のテキストを自分で記述する必要がありました。
      Tidy オブジェクトの構(gòu)造を理解した後は、すべてのノードを走査するだけで、div タグを見つけて內(nèi)部のノードの処理を開始することができます。コードは次のとおりです。
      if(mb_strwidth($subchild->value, 'utf-8') >= $len)
      {
      $subchild->value = mb_strimwidth($subchild) -> 値, 0, $len, '…', 'utf-8');
      $trimed_str .= $subchild->value;
      else; >{
      $trimed_str .= $subchild->value;
      $len = $len - mb_strwidth($subchild->value, 'utf-8'); は子ノードです。ここでは、文字列の長さを取得するために mb_strwidth が使用されていることに注意してください。この mb_strwidth を強くお勧めします。これは非常に便利です。中國語を長さ 2 文字として扱い、ここでのニーズを正確に満たします。さらに、文字列をインターセプトするときに mb_strimwidth が使用されます。この関數(shù)は中國語も 2 文字として扱います。mb_ で始まる関數(shù)は非常に使いやすいです。
      具體的なコードは書きません。これは要件に基づいて書かれており、普遍的な形式に作られていないからです。いつかそれを普遍的なものにして公開する時間ができました。
      さらに、FireFox が text-overflow 屬性をサポートしていないのは殘念です。サポートしていなければ、バックグラウンドで苦労して切り詰める必要はありません。もっと良い方法があれば、ぜひ提案してください!ご協(xié)力をよろしくお願いいたします。

      このウェブサイトの聲明
      この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

      ホットAIツール

      Undress AI Tool

      Undress AI Tool

      脫衣畫像を無料で

      Undresser.AI Undress

      Undresser.AI Undress

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

      AI Clothes Remover

      AI Clothes Remover

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

      Clothoff.io

      Clothoff.io

      AI衣類リムーバー

      Video Face Swap

      Video Face Swap

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

      ホットツール

      メモ帳++7.3.1

      メモ帳++7.3.1

      使いやすく無料のコードエディター

      SublimeText3 中國語版

      SublimeText3 中國語版

      中國語版、とても使いやすい

      ゼンドスタジオ 13.0.1

      ゼンドスタジオ 13.0.1

      強力な PHP 統(tǒng)合開発環(huán)境

      ドリームウィーバー CS6

      ドリームウィーバー CS6

      ビジュアル Web 開発ツール

      SublimeText3 Mac版

      SublimeText3 Mac版

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

      PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? Jun 28, 2025 am 02:25 AM

      topreventcsrfattacksinphp、demifficanti-csrftokens.1)生成と測定と測定を繰り返し、orbin2hex(random_bytes(32))、savethemin $ _ session、andincludeTheminformsashdidnputs.2)

      PHP出口機能の使用方法は? PHP出口機能の使用方法は? Jul 03, 2025 am 02:15 AM

      Exit()は、すぐにスクリプトの実行を終了するために使用されるPHPの関數(shù)です。一般的な用途には次のものが含まれます。1。ファイルが存在しない、または検証が失敗するなど、例外が検出されたときにスクリプトを事前に終了します。 2。デバッグ中の出力中間結(jié)果と実行を停止します。 3。Header()と組み合わせてリダイレクトした後、Exit()を呼び出して、後続のコード実行を防ぎます。さらに、exit()は、文字列パラメーターを出力コンテンツまたはステータスコードとして整數(shù)として受け入れることができ、そのエイリアスはdie()です。

      2つのPHPアレイを組み合わせる方法ユニークな値は? 2つのPHPアレイを組み合わせる方法ユニークな値は? Jul 02, 2025 pm 05:18 PM

      2つのPHPアレイをマージし、一意の値を保持するには、2つの主要な方法があります。 1.インデックスアレイまたは重複排除のみの場合、array_mergeとarray_uniqueの組み合わせを使用します:最初のマージArray_merge($ array1、$ array2)を使用してから、array_unique()を使用して、最終的にすべての一意の値を含む新しいアレイを取得します。 2。関連アレイと最初の配列のキー値のペアを保持したい場合は、演算子を使用してください。$ result = $ array1 $ array2。これらの2つの方法は、キー名が保持されているか焦點があるかに応じて、異なるシナリオに適用できます。

      HTMLで記事、セクション、および脇にセマンティック構(gòu)造を適用する HTMLで記事、セクション、および脇にセマンティック構(gòu)造を適用する Jul 05, 2025 am 02:03 AM

      HTMLでのセマンティックタグの合理的な使用は、ページ構(gòu)造の明確さ、アクセシビリティ、SEO効果を改善することができます。 1.ブログの投稿やコメントなどの獨立したコンテンツブロックに使用されると、自己完結(jié)型でなければなりません。 2。通常はタイトルを含む分類関連のコンテンツに使用され、ページのさまざまなモジュールに適しています。 3。サイドバーの推奨事項や著者プロファイルなど、メインコンテンツに関連する補助情報に使用されますが、コアではありません。実際の開発では、ラベルを組み合わせて、その他を組み合わせ、過度のネストを避け、構(gòu)造をシンプルに保ち、開発者ツールを使用して構(gòu)造の合理性を検証する必要があります。

      PHPの再帰機能とは何ですか? PHPの再帰機能とは何ですか? Jun 29, 2025 am 02:02 AM

      再帰関數(shù)は、PHPのセルフコール関數(shù)を指します。コア要素は1です。終了條件(基本例)の定義、2。問題を分解し、再帰的に呼び出す(再帰的な例)。階層構(gòu)造を扱う、重複したサブ問題の分解、または計算の要因、走査ディレクトリなどのコード読みやすさの改善に適しています。ただし、メモリ消費とスタックオーバーフローのリスクに注意を払う必要があります。書くときは、出口條件を明確にする必要があり、基本的な例に徐々にアプローチし、冗長パラメーターを避け、小さな入力をテストする必要があります。たとえば、ディレクトリをスキャンすると、関數(shù)はサブディレクトリに遭遇し、すべてのレベルが橫斷されるまで再帰的に呼び出します。

      PHPのセッションデータにアクセスするにはどうすればよいですか? PHPのセッションデータにアクセスするにはどうすればよいですか? Jun 30, 2025 am 01:33 AM

      PHPのセッションデータにアクセスするには、最初にセッションを開始し、次に$ _Session HyperGlobal Arrayを介して動作する必要があります。 1。セッションはsession_start()を使用して開始する必要があり、出力の前に関數(shù)を呼び出す必要があります。 2。セッションデータにアクセスするときは、キーが存在するかどうかを確認します。 ISSET($ _ Session ['key'])またはarray_key_exists( 'key'、$ _ session)を使用できます。 3.セッション変數(shù)を設(shè)定または更新する必要は、手動で保存せずに$ _Sessionアレイに値を割り當てるだけです。 4. unset($ _ session ['key'])を使用した特定のデータをクリアし、すべてのデータをクリアし、空の配列に$ _sessionを設(shè)定します。

      Loading = 'Lazy' HTML屬性の1つと、どのようにページのパフォーマンスを改善するのですか? Loading = 'Lazy' HTML屬性の1つと、どのようにページのパフォーマンスを改善するのですか? Jul 01, 2025 am 01:33 AM

      Loading = "Lazy"は、HTML屬性の屬性であり、ブラウザのネイティブLazyロード機能がページのパフォーマンスを向上させることを可能にします。 1.非ファーストスクリーンリソースの読み込みを遅延させ、初期の読み込み時間を短縮し、帯域幅とサーバーのリクエストを節(jié)約します。 2。長いページに大量の寫真や埋め込まれたコンテンツに適しています。 3.ファーストスクリーン畫像、小さなアイコン、またはJavaScriptを使用した怠zyなロードには適していません。 4.レイアウトオフセットを回避し、互換性を確保するために、サイズの設(shè)定やファイルの圧縮などの最適化測定に協(xié)力する必要があります。使用する場合は、スクロールエクスペリエンスをテストし、ユーザーエクスペリエンスを検討する必要があります。

      PHP RAW POSTデータPHP PHP RAW POSTデータPHP Jul 02, 2025 pm 04:51 PM

      PHPで生のポストデータを処理する方法は、JSON、XML、またはその他のカスタム形式データの受信に適した$ rawData = file_get_contents( 'php:// input')を使用することです。 1.php://入力は読み取り専用のストリームであり、これは投稿リクエストでのみ有効です。 2.一般的な問題には、サーバー構(gòu)成またはミドルウェアの読み取り入力ストリームが含まれます。これにより、データを取得することができません。 3.アプリケーションシナリオには、フロントエンドのフェッチリクエストの受信、サードパーティのサービスコールバック、およびRestfulapisの構(gòu)築が含まれます。 4. $ _POSTとの違いは、$ _POSTが標準フォームデータを自動的に解析し、元のデータは非標準形式に適しており、手動解析を可能にすることです。 5。通常のHTM

      See all articles