問題タブ [php-parser]

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 投票する
2 に答える
232 参照

php - 最大行長機能を備えた PHP パーサー プリンター

必要な最大行長を強制できるphp-parser用のきれいなプリンターが存在するのだろうか?

(いくつかの基本的なケース (配列要素リスト、関数引数リスト) の実装はかなり簡単に思えますが、変数式などで困惑し始めます。)

0 投票する
4 に答える
226 参照

php - JSON フィードの解析

次のデータを含む URL に json フィードがあります。

私はそれを取得し、完全なphpを解析する必要があります。しかし、次のコードで無効な foreach エラーが発生しています。正しく表示する方法を教えてください。

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

laravel - nikic phpparserを使用したLaravel 4:メール送信時にメモリ不足になる

Laravel が内部的に nikic phpparser を使用していることを知りました。

条件の 1 つでメールを送信するようにコードを変更したところ、停止し始めました。
PHPログはこれを示しました:

[2015 年 10 月 3 日 21:18:23] [エラー] [クライアント xx.xx.xx.xx] PHP 致命的なエラー: /home/yyyy/public_html/ で 33554432 バイトの許容メモリ サイズが使い果たされました (1048576 バイトを割り当てようとしました) vendor/nikic/php-parser/lib/PHPParser/NodeTraverser.php の 66 行目、リファラー: http://yyyy.com/home

問題を解決するために一時的にメモリを増やしました。
でも、バンドエイドから離れたい。
NodeTraverser 関数がクローンを実行していることがわかります。それが問題の原因になるでしょうか。

こんな感じでメールを送ります。これは他の場所と変わらないため、これが問題を引き起こすとは思えません。

これを解決する方法についてのアイデアはありますか?

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

php - PHPParser(nikic)を使用するLaravelは何ですか?

パーサーがメモリ不足になるという問題に直面しています-

  • /nikic/php-parser/lib/PHPParser/Node/Expr/Identical.php 25 行目

  • /nikic/php-parser/lib/PHPParser/Parser.php 行 1044

そして、これは、シナリオのみでメールを送信しているときにも発生します。
ここで Laravel が何をしようとしているのかを理解しようとしているので、この問題を解決できます。

Laravel バージョン 4.0
PHPHarser バージョン 0.9

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

php - PHP で変数のエコーを制限して、目的の文字を取得する

$responsevar には、custom_test_name以下のようなコンポーネントがあります。

ここに小さなPHPコードがあります:

これは、prints の..checkの<class=com.tests.[</class>最初の文字[を出力し、custom_test_name同様にprint の echoing を出力します ....ただし、この場合、詳細のみを出力/エコーするにはどうすればよいですか? たとえば。これだけをエコーし​​、それを排除します。範囲/他のアプローチを指定する方法はありますか?["custom_test_name"][2]T[3]ead.no.check1.check2.check3[Test_Name]

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

php - simple-html-dom を使用して img を親段落の前に移動

ケイ、私はこれに本当に行き詰まりました:/ これまでのタイトルと DOMDocument で述べたように、SimpleHTMLDom を試しました.. $html は、Processwire 駆動ページの CKEditor から取得されます。出力を自動後処理するテキストフォーマッタを作成しました。

これがテストデータです

だからここに私のSimpleHTMLDomの試みがあります

上記の $html に img が 1 つしかなく、すべてが期待どおりに機能しますが、それらの 2 つ (またはそれ以上) は重複を返します。

  1. 問題が発生すると、並べ替え順序が変更されるため、130x100 の画像が最初になります。先頭に追加していることはわかっていますが、変更方法がわかりません。すべての画像を変数に詰め込んで順番を保とうとしましたが、それを段落の先頭に追加する方法がわかりません..

  2. 実際にはより重要な問題は重複に関するものです。奇妙なことに、すべての画像を適切に先頭に追加しますが、段落内の最初の画像のみを削除するだけであり、それは追加の画像にも当てはまるため、3 では最後の 2 つを保持します (私が言ったように、 1 で問題なく動作します)

私は何を間違っていますか?

これはおそらく別の質問でより良いでしょうが、DOMDocument も試してみましたが、insertBefore を動作させることができなかったことを示したかった (まったく) さまざまなバリエーションを試しました (以下のコードではコメント解除されています)。

何かが十分に文書化されていない、または尋ねられていない場合は、お気軽にコメントしてください。より良い説明を試みます:)

編集: html(上記のwysiwygからのもの)は、段落の途中または最後に画像を保持する場合があり、単一または複数の画像(未定義の数)を含む場合があり、そのhtmlには複数の段落があります

編集:出力をどのようにしたいかを含めるべきでした

これが入力です

そして、これは結果でなければなりません

これらの画像を Figure にラップしてからコンテナーに入れる必要があることを言及せずに申し訳ありません..単一のイメージには余分なコンテナーは必要ありませんが、実際には重要ではありません.. figcaption 該当する場合は複数の図を div にラップし、単一の画像のみの記事ですべてが機能し、別の記事で上記のテスト データに似た html に遭遇し、前述の重複が発生しました..だから私はコードを削除しました問題の原因がどこにあるのかを確認するには、運が悪い..そのため、この単純化されたコードを質問に追加したのは、これが機能すると、他のコードも機能すると思ったからです;-)

それが今より明確になることを願っていますか?

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

abstract-syntax-tree - ハック コードを抽象構文ツリーに解析する

ハック コードを抽象構文ツリーに分解したいと考えています。Hack コードを AST に解析するのに役立つ、利用可能なツール/ライブラリ/github リポジトリについて教えてください。"h2tp" (Facebook によって書かれた php トランスパイラーへのハック) を見つけましたが、コードを AST に解析しません。私もこのプロジェクトを試してみましたが、これは私が望むことを行いますが、多くのオペレーターを認識しておらず、大幅な再作業が必要であり、かなりの時間がかかります。

0 投票する
0 に答える
231 参照

php - トークナイザーを使用したカスタム DSL の条件の解析

PHP で API を介して提供される「ルール文字列」を解析しようとしています。

次のようなアイテムの配列があることを考えると

この表現を評価したい

$items 配列には 41 項目と 51 項目の両方があるため、この例では true を返す必要があります。

https://github.com/nette/tokenizerライブラリを使用してトークナイザーを作成することから始め、現在は文字列をトークンの配列に解析しています。

しかし、これは私の才能が尽きる場所であり、$items 配列に対して条件を実行できるようにトークンを処理する方法がわかりません。

私がこれに完全に間違って近づいている可能性があります。