問題タブ [querypath]
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.
php - QueryPathを使用して複数のページからリンクを収集する
URLの配列が渡される関数があります。各Webページには、他のページへの一連のリンクがあります。この関数に渡されるすべてのWebページからこれらのリンクの完全なリストを返したいです。各ループで配列を組み合わせる方法に固執しています。
例えば:
2つのページの配列は次のとおりです。
この配列から私は戻りたいと思います:
php - querypath はローカルでは機能するがサーバーでは機能しない
そのため、MAMPベースのphp 5.3.6であるローカル環境でクエリパスを使用して何かを開発していましたが、開発サーバーに移動すると動作しなくなりました。私の開発サーバーは、php 5.3.2-1ubuntu4.10 を使用した LAMP ベースです。私の人生では、ローカルでは機能するのにテストでは機能しない理由を理解できません。両方の環境で正しいphp拡張機能を有効にしています。
インクルード内のクエリパスファイルと関係があるようです。PHP/MySQL は両方の環境で正常に動作しています。Querypath では、'libxml' および 'dom' 拡張機能を有効にする必要があります。これらは両方の環境にあります。私のphpエラーログには何も表示されません.querypathにエラーログがある場合、それは私が認識していなかったものです.
基本的な例は、これが私のローカル環境で応答を受け取ることです:
私の開発環境では、'TEST' が出力されません。これは、クエリパスへのアクセスで何らかの致命的なエラーが発生したことを示しています。そして、はい、相対パスを厳密にチェックしました。
更新: 今日休暇から戻った同僚は、htmlqp() の代わりに qp() 関数を使用するようにアドバイスしてくれました。 \QueryPath\DOMQuery' が /Library/WebServer/Documents/fGalaxy54/fGalaxy54/include/QueryPath/src/QueryPath.php の 158 行目に見つかりません
なんらかの理由で、自動ローダーが DOMQuery クラスをロードしていないため、サーバーにファイルを再コピーして、破損していないことを確認しました。いずれにせよ、私の同僚は、彼がサーバー上の別の場所でホストしていた querypath のコピーを私に指摘しましたが、そのコピーは何らかの理由で正常に動作します。したがって、何も解決されていませんが、サーバーの別の場所に作業コピーがあります。すべてのコメントをありがとう。
さらに明確にするために再度編集します。
別のオートローダーを使用すると、開発環境ですべてが正常に機能しました。これがある種の qp バグかどうかはわかりませんが、確かに奇妙な癖です。
jquery - 最短のセレクターを見つける方法
クリックされた要素の最短セレクターを取得するにはどうすればよいですか?
後でこのセレクターを使用して、同じ (またはほぼ同じ) 結果を回復したいと考えています。
既存の方法はありますか?
そのための私の考えは、次のものを優先して検索しています。
- 使い捨てID
- カウンター付マルチID
- 使い捨ての名前
- カウンター付きの多用名
- 単一使用のクラス名
- カウンター付きの多目的クラス名
- 1.-6. への最短の親パス
最大限の信頼性と最大限の柔軟性を実現するための短いパスを構築する方法がわかりません (新しい親タグまたはコード内の移動)。
php - テーブルからのクエリパス抽出要素
Querypath を使用して、テーブルから名前と場所の情報を抽出しています。innerhtml() を使用してテーブル自体を抽出できましたが、今はテキストを変数に集めようとしています。これが私のコードです:
これにより、必要なコア情報が得られます。次に、店名を取得する必要があります。私は使用してみました:
しかし、これは何も返していません。残念ながら、私は共有ホストを使用しているため、エラーは表示されませんが、QueryPath がエラーをスローしていると思われます。
php - PHPクエリパスを使用して、HTML文字列の上下にある空のタグを削除します
私はphp Querypathを使用しており、htmlの上下にあるすべての空のタグをhtml文字列から削除しようとしています。例えば:
php querypath を使用すると、次のように変更できます。
どのようにできるのか?
php - phpquerypathを使用してhtmlからアンカータグを削除する方法
私はphpQuerypathを使用していて、htmlから特定のhrefを持つアンカータグを削除しようとしています。
例えば
私の出力は
hreftopのアンカーは削除する必要があります。
次のコードで試してみました
しかし、次のアンカーは削除されませんでした。
PHPクエリパスでこれを実現する方法を教えてください。
助けてくれてありがとう。
php - QueryPath Find - 複数のセレクターを使用した要素の検索
私が達成しようとしているのは、次の例で UL と DIV の両方を見つけることです。他の可能性のある後続の DIV および UL と同様に。
QueryPath API を調べた後、ページの「セレクターの例」の部分でわかるように、複数のセレクターを使用できることがわかりました:
QueryPath CSS セレクター リファレンス
次のような関数を使用して、PHP と QueryPath を操作しています。
残念ながら、この関数は UL のみを返し、フッター DIV は返しません。なぜ機能しないのか、私にはわかりません。また、次のように find メソッドを使用しようとしました。
これにより、まったく同じ結果が得られます。
ここで何が欠けていますか?
php - PHP/QuerypathはJavascript変数の値を取得します
QueryPathを使用してHTMLを渡そうとしています。HTMLでJavascript変数の値を取得したいと思います。このような:
357であるJavascript変数*room_id*の値を取得したいのですが、 どうすればこれを達成できますか?
QueryPathを使用していない場合でも、この種の解析を実行できるHTMLパーサーは他にありますか?
jquery - 直近の子の選択
私のXML構造は
root の直下の子 (* * でマーク) の最後の elem1 を選択する必要があります。
QueryPath - http://querypath.orgでそれを行いたいです。しかし、JQuery 構文も役に立ちます。
上記の 3 つすべてで、¬ でマークされた elem1 が選択されます