[過去ログ] 【PHP】下らねぇ質問はここに書き込みやがれ 14 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
49
(1): (ワッチョイ 435f-/mFx) 2022/10/04(火)22:32 ID:lI8qARGk0(2/6) AAS
php疎い者です。
javascriptでよくある処理ですが、
現在表示しているページの<body>タグにクラス(.current)があるか否かで処理を分岐したいのですが、
これをPHPではどのように書いてよいのかわかりません。

・取得対象の現在のドキュメントのbodyタグの指定の仕方
・正規表現など使わずにgetElementsByTagNameのようなものがhtmlでも使えるのか
など、、
宜しくお願いいたします。
50
(1): (ワッチョイ ff63-pIDl) 2022/10/04(火)22:35 ID:BwJYUobP0(1) AAS
現在表示しているページは、誰が作っているの?
51: (ワッチョイ 435f-/mFx) 2022/10/04(火)23:35 ID:lI8qARGk0(3/6) AAS
>>50
自分で作っているページです。
恐らく方法論として間違っているのだと思いますが、
後学の為に方法を知っておきたいです。
52: (ワッチョイ ff7c-pIDl) 2022/10/04(火)23:51 ID:nXyy/Qec0(2/2) AAS
ん?サーバーで先にHTMLを生成するのだからその段階で判断基準があるでしょ?
それが無くて後から動的ならjavascriptでやるしか無い気がするのだが
53
(1): (ワッチョイ 632c-kE2G) 2022/10/04(火)23:52 ID:CNGS9dK70(1) AAS
Ruby なら、Nokogiri, Selenium Webdriver などを使う。
PHP にも、そういうモジュールがあるのでは?

require 'nokogiri'

doc_1 = Nokogiri::HTML(<<EOT)
<html><body class="abc">あ</body></html>
EOT

doc_2 = Nokogiri::HTML(<<EOT)
<html><body class="current">い</body></html>
EOT

element_1 = doc_1.at_css( 'body.current' )
省13
54
(1): (ワッチョイ 435f-/mFx) 2022/10/04(火)23:55 ID:lI8qARGk0(4/6) AAS
例えばスマホ/PCなど、表示条件によりbodyタグにphpでクラス付与するケースです。
phpの分岐条件をbodyのクラスで判定する事自体がナンセンスというか方法論として間違っているという事かと思いますが、
もしこのような方法がphpでもできるならば具体的にどのようなソースになるか知っておきたい感じです。

これに限らず、classのあるなしをphpでもできれば便利だなあと、、

とても煩雑で面倒で無意味な事であれば諦めます。。
55
(1): (ワッチョイ 435f-ruke) 2022/10/04(火)23:55 ID:L5kRkIm30(1) AAS
生成したサイトにスクレイピングするスクリプト書くとかしか無いんじゃない?
56: (ワッチョイ 435f-/mFx) 2022/10/04(火)23:57 ID:lI8qARGk0(5/6) AAS
>>53
ありがとうございます。
恐らく「PHP Simple HTML DOM Parser」などがそれに当たるかと思われますが、
ちょっと1回使いたいだけの場合にライブラリ使わずサクッとできないかと思い、質問しました。
57: (ワッチョイ 435f-/mFx) 2022/10/04(火)23:59 ID:lI8qARGk0(6/6) AAS
>>55
現在のページに対しfile_get_contentsなどを使うイメージでしょうか。
ありがとうございます。
58: (ワッチョイ 632c-kE2G) 2022/10/05(水)00:03 ID:W5I+dJQy0(1/4) AAS
>>39
Ruby on Rails のMVC では、
Model はデータベース・ビジネスロジック、
View はHTML、
Controller はルーティングなど、MV 以外

歴史的には、コントローラーの肥大化を防ぐために、
Skinny Controller, Fat Model を推奨した。
その結果、モデルが肥大化した

そこで今度は、モデルの処理を減らすために、
Form Object, Service Object へ処理を分けた
省2
59
(1): (ワッチョイ ff63-pIDl) 2022/10/05(水)00:06 ID:j989iulk0(1) AAS
クライアント側でJavascriptなど使って書き換えしているときはどうするんだろう
60: (ワッチョイ 435f-/mFx) 2022/10/05(水)00:10 ID:4fLF3mVy0(1) AAS
>>59
今回は一旦そのケース(jsによる操作)はないという前提でお願います...
61
(1): (ワッチョイ 632c-kE2G) 2022/10/05(水)00:28 ID:W5I+dJQy0(2/4) AAS
>>54
Ruby on Rails では、
<html><body></body></html> の部分は、レイアウトファイルと言う。
絵画でいう額縁の部分

body 内では、<%= yield %> で、各テンプレートファイルを読み込むようになっている。
だから、bodyタグを変える場合は、複数のレイアウトファイルを切り替える

<html><body class="abc">
<%= yield %>
</body></html>

<html><body class="xyz">
省4
62: (オッペケ Sr47-i/MD) 2022/10/05(水)08:10 ID:lxgtpcSQr(1) AAS
>>49
phpで生成する段階で分岐しないといけないならphpで分岐する

レンダリング後に分岐したいならjsで分岐するしかない
63: (ワッチョイ 6fe7-pIDl) 2022/10/05(水)10:08 ID:EybIMEvA0(1) AAS
>>61
RubyってマジでPHPそっくりなんだな
64: (ワッチョイ 632c-kE2G) 2022/10/05(水)23:07 ID:W5I+dJQy0(3/4) AAS
すべてのフレームワークは、Ruby on Rails を基本としているから、
初心者はRailsから始めるべき

JavaScript なんかは、Rubyの20年遅れ。
ES6(ES2015)で、ようやく辞書・クラス構文・テンプレート文字列などが出来たなど、Ruby化を進めた
65: (ワッチョイ 632c-kE2G) 2022/10/05(水)23:15 ID:W5I+dJQy0(4/4) AAS
Ruby は、JavaScript(JS), Python, PHP よりも、バグらない

Rubyの偽は、nil, false の2つだけ

一方、他の言語は、各型に偽がある。
空文字、0, 0.0、空配列など

これのおかげでバグるから、
JS などは、== 緩い等価演算子を使うなと言われて、=== 厳密等価演算子を使えとなった。
さらに、TypeScript も必須になった
66: (ワッチョイ ff7c-pIDl) 2022/10/06(木)12:50 ID:tI414gt60(1) AAS
Rubyガイジは嫌われていることにそろそろ気付けよw
67: (ワッチョイ a3ac-a5Fx) 2022/10/07(金)01:00 ID:/3WJyx6k0(1) AAS
こういうのはエゴな正義感でやってるんやろ
自分がRubyを支えてるみたいなw
やらかしてることには自ら目をつぶるタイプ、しょうもない人間
68
(1): (ワッチョイ ff05-ehet) 2022/10/08(土)19:37 ID:juauNmJw0(1) AAS
$comment_info_msg_tag = '<div class="comment-information-messag">'.$comment_info_msg.'</div>'

これって変数$comment_info_msg_tagを呼び出した時
変数$comment_info_msgの中身がクラスcomment-information-messagの<DIV>タグを付けられて出てくるって事で合っていますか?
1-
あと 934 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s