問題タブ [domdocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
93 参照

php - 第 1 レベルのブロックを検索する html のウォークスルー

<p> and <ul>/<ol>HTMLの分析とタグの検索に関する私の他の質問に加えて、この質問。

これが私が得た距離です。以下を含む配列として $out を取得する方法は何ですか:

前もって感謝します!私はdomdocument構造で本当に迷っています。

0 投票する
1 に答える
2732 参照

php - åäöを使用したPHPDOMDocument(UTF-8)

フォーム付きのHTML/PHP5ページを取得し、それが投稿されると、フォーム入力をデータとして使用してXMLファイルを作成します。

しかし、すべてのåäöは、私がそれらを使用utf8_encode()した場合のように見えます。utf8_decode()XMLファイルを送信する「サービス」がUTF-8ではないと文句を言うので(そうあるべきですが)、私はそれらを行うことができません。

パーサーが失敗しました。理由:2:パーサーエラー:入力が適切なUTF-8ではありません。エンコードを示してください!バイト:0xE5 0x73 0x61 0x2E

私はmを試し、代わりにb_convert_encoding()データを送信し、php.iniで変更しましたが、想定どおりに機能するものはありません。CDATAhtmlentities()default_charset = "utf-8"

私は何をすべきか?

0 投票する
1 に答える
1424 参照

php - 出力から XML プロローグを除外するにはどうすればよいですか?

私が書く$xml = new DOMDocument();と、自動的に作成されます<?xml version="1.0"?>。私はそれを作成する必要はありません。それ、どうやったら出来るの?

解決策の 1 つは、最初の ">" を検索し、最初に見つかった < のインデックスで strsub を検索することです。しかし、私はこれを行うより良い方法が好きです。

0 投票する
1 に答える
419 参照

php - DOMDocument解析(php)

PHPでDOMDocumentに変換したAPIからxmlファイルを解析しています。これはほとんど問題ありませんが、私が抱えている問題の1つは、これを行うときです。

forallステートメントの一部であり、要素extraがforall条件で繰り返し処理しているフィード項目のいずれにも存在しないため、エラーが発生します。

私はこれを試しました:

しかし、私はエラーを受け取ります

注:「extra」要素がすべてのフィードアイテムに含まれている場合、コードは完全に実行されます。フィードアイテムの1つに「extra」要素が含まれていない場合にエラーが発生します。

0 投票する
2 に答える
29880 参照

php - タグの属性を取得するPHP DOMDocument

こんにちは、次のような一連のアイテムを含む xml 形式の API 応答があります。

DOMDocument を使用して、タグ「media:file」から属性「data」を取得したいと考えています。以下の私の試みはうまくいきません:

私は何を間違っていますか?助けてください。

編集: マーク、何らかの理由でコメントを残すことができません。エラーが発生します

コードを実行すると。私も試してみました

ここで、uri はメディア ネーム スペース (NS) に関連する uri ですが、これも同じ問題です。

通常、属性の解析には問題がないため、メディア要素の形式は not であることに注意してください。これは問題の一部だと思います。

0 投票する
2 に答える
9951 参照

php - PHP DOMDocument、最初のアイテムのみが必要

こんにちは、過去に DOMDocs を使用したことがありますが、これを行う方法に行き詰まっています。

タグ「データ」の最初のインスタンスのみが必要です。通常、私は foreach ループを書きます:

各フィードアイテムで必要なことを行いますが、ここでは最初の $feeditem のみが必要です。$feeditem は配列ではなく、DOMdoc オブジェクトなので、最初の 'data' タグを選択するために $feeditem[0] を実行できません。

これについて何か助けてくれてありがとう。

0 投票する
1 に答える
1606 参照

php - PHP DomDocument は HTML で XML を保存します

DomDocument で開いた XML ファイルを保存して、内部の HTML が HTML エンティティにエンコードされないようにするにはどうすればよいですか?

0 投票する
3 に答える
14275 参照

php - PHPを使用してXMLファイルを作成し、ダウンロードを促すにはどうすればよいですか?

domdocumentを使用してxmlファイルを作成しています:

このファイルへのリンクをクリックすると、xmlファイルとして表示されます。代わりにダウンロードを促すにはどうすればよいですか?さらに、phpファイルの実際の名前である「backup.php」ではなく、「backup_11_7_09.xml」(今日の日付を挿入してxmlとして入力)としてダウンロードするように求めるにはどうすればよいですか。

0 投票する
2 に答える
6737 参照

domdocument - PHPコマンドラインスクリプトは、php.iniおよびini_set('memory_limit'、...)ディレクティブを無視します

一般的な「致命的なエラー:メモリ不足(30408704が割り当てられています)(24バイトを割り当てようとしました)...」PHPの致命的なエラーに直面しています。Apacheを介して提供されるページは、この動作を示していません。

私は次のことを試しました:

  1. php.iniのmemory_limitをはるかに大きな値に増やします。
  2. ini_set('memory_limit', -1)、、、 などini_set('memory_limit', '-1')の 呼び出しを介してスクリプト自体のmemory_limitを増やします。ini_set('memory_limit', 100000000)ini_set('memory_limit', '128M')
  3. unset()不要な配列とオブジェクトを使用して、ガベージコレクターがメモリを解放するように促します。
  4. ウェブホストに連絡しています。彼らは通常、非常に有能で知識が豊富ですが、この問題についても私を助けることができませんでした。
  5. -cコマンドラインフラグを使用してphp.iniファイルを明示的に含めて、さまざまな値を持つ特定のphp.iniファイルを手動で選択してみました。
  6. 生のバイト数と64M、128Mなどの値の両方を使用してphp.iniでmemory_limitを設定してみました。
  7. ホスティングプロバイダーは、問題なくrootとしてスクリプトを実行できましたが、root以外のユーザーを使用してスクリプトを実行した場合と同じ問題が発生します。おそらく、何らかの権限の問題が関係していますか?

私が何をしようとしても、エラーメッセージは同じです。コマンドラインスクリプトがへの変更を無視しているようmemory_limitです。

スクリプトがメモリ効率に優れていることを確認する傾向がありますが、現在、 Simple HTML DOMを介して大量のHTMLを解析する必要があり、メモリ不足の問題が発生しているのはパーサーです。スクリプトのメモリフットプリントを削減するために、代わりにDOMDocumentを使用してみました。これも役に立ちません。実際、メモリ不足エラーはスクリプトの他の場所でトリガーされるようになりました。

私の質問:誰かがこれまたは同様の問題を経験しましたか?何かお勧めはありますか?

ありがとうございました。

0 投票する
2 に答える
21961 参照

php - DOMElementのクローン作成と追加:'間違ったドキュメントエラー'

PHPのDOMAPIを使用したノードのクローン作成について、私が完全には理解していないことがあります。これが私が遭遇している問題をすばやく複製するサンプルファイルです。

この小さなスニペットを実行すると、例外がスローされます

致命的なエラー:キャッチされない例外「DOMException」とメッセージ「WrongDocumentError」

ドキュメントからノードを取得してクローンを作成し、それを別のドキュメントに追加することはできませんか?