GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    おさ (osapon@mstdn.nere9.help)'s status on Sunday, 17-Aug-2025 20:48:02 JST おさ おさ

    PHP8.4に上げたら、DOMDocumentでルートレベルのDOMは一個しかないはずとか言う実装になったっぽくて、LIBXML_HTML_NOIMPLIEDオプションを指定して読み込ませたHTMLが、最初に見つけたルートレベル要素しか処理されなくなった。

    In conversation about 2 months ago from mstdn.nere9.help permalink
    • Embed this notice
      おさ (osapon@mstdn.nere9.help)'s status on Sunday, 17-Aug-2025 20:50:45 JST おさ おさ
      in reply to

      仕方なく<hoge>で括って、<hoge><p>1</p><p>2</p></hoge>で読ませてsaveHTML($htmlDocument->querySelector('hoge'))したら、<p>1</p><p>2</p>が取り出せるのかと思ったら、それもルートレベルが複数になるので<p>1</p>しか返ってこなくて、結局全部取り出してstr_replaceで外側のタグを消すとか言う原始的な処理になった。

      In conversation about 2 months ago permalink
    • Embed this notice
      おさ (osapon@mstdn.nere9.help)'s status on Sunday, 17-Aug-2025 20:53:58 JST おさ おさ
      in reply to

      そして、今困っているのは<br>タグが<br></br>に書き換えられてしまうんだけど、再帰処理で何度か回していると、これが増殖して無限<br></br>編が始まってしまい、めっちゃ行間があく。なんでそこだけXMLみたいな処理するんだよ。というかPHP8.3の動作に戻してくれ~。いや、もしかしたらLIBXMLの動作なのかもしれんけど。

      In conversation about 2 months ago permalink
    • Embed this notice
      おさ (osapon@mstdn.nere9.help)'s status on Sunday, 17-Aug-2025 21:02:10 JST おさ おさ
      in reply to

      LLMに聞いてもDOMDocumentでしか使えないオプションを回答してきて、そのオプションはDom\HTMLDocument(PHP8.4からこっちが推奨になった)で使えねーと困ったが、他の解法として、これも<br></br>を<br>に置換するという原始的処理で対応できた。内部で無駄な書き換えが発生していて処理が無駄だなぁ。 #PHP

      In conversation about 2 months ago permalink
    • Embed this notice
      おさ (osapon@mstdn.nere9.help)'s status on Sunday, 17-Aug-2025 21:08:44 JST おさ おさ
      in reply to

      PHP8.3以前でDOMDocumentを使ってるときは大丈夫だったんだよな。そっちが壊れてたのかもしれんが。

      In conversation about 2 months ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.