質問箱/4396

カテゴリ
サマリ<pre>タグの前に別のタグをつけ、preにclassをつけたい
バージョン1.4.7
投稿者ミザレオ?
状態完了
投稿日2008-12-09 (火) 01:47:39

質問

テスト

上記の用な<pre>に<div><pre class="test">といった感じでデフォルトでタグやクラスをつけたいのですが、どこをいじれば良いのでしょうか?
lib/convert_html.phpの

	function canContain(& $obj)
	{
		return is_a($obj, 'Pre');

ここかなと思ったんですがどうもうまくいきませんでした。
diffプラグインでは無く、本体の出力の<pre>を変更したいのです。
よろしくお願いします。

回答

  • その7行くらい下を
    	function toString()
    	{
    		return $this->wrap(join("\n", $this->elements), 'pre', ' class="CLASSNAME"');
    		//, ' class="CLASSNAME"'を追加
    	}
  • 山羊? 2008-12-09 (火) 10:32:59
  • ありがとうございます。無事できました。
    しかし本当に申し訳ないのですが諸事情により<pre>タグの前にさらにタグを追加し、</pre>タグの後に追加したタグを閉じたいのですがこれも追加できますでしょうか?
    classだけでは別のタグが邪魔をして希望通りの動作をしてくれませんでしたので。
    後から条件を追加して本当にすいません。 -- ミザレオ? 2008-12-09 (火) 21:21:03
  • ソース読んでそうなので簡単に言いますと、wrapの意味を読めば wrap(wrap()) の形でできませんか?? -- 山羊? 2008-12-09 (火) 22:12:37
  • すいません。一応色々試してみたのですができませんでした。
    htmlならわかるんですがそれ以外はサッパリでして。wrapが何をしてどうなるかもわかりません、すいません。 -- ミザレオ? 2008-12-10 (水) 23:25:41
  • wrap(内容,タグ名,属性)の形でタグ要素がテキストで返ってきます。入れ子にしてあげればpreをさらにタグで囲うことができますね。 ってか単純に開始タグと終了タグを返り値の前後に付け加えるだけでもできるような。 -- 山羊? 2008-12-11 (木) 23:28:18
  • 試してみました。
    return $this->wrap(, 'div', ' class="aaa");wrap(join("\n", $this->elements), 'pre');
    とやったんですが失敗し、
    return $this-><div class="aaa">wrap(join("\n", $this->elements), 'pre' </div>);
    でもダメでした。難しいですね。 -- ミザレオ? 2008-12-12 (金) 14:08:48
  • $this->wrap() までがクラス関数のくくりなので、それでは失敗しますよ。入れ子なら、
    return $this->wrap($this->wrap(join("\n", $this->elements), 'pre', ' class="CLASSNAME"'), 'div', ' class="aaa");
    付け加えるなら、
    return '<div class="aaa">' . $this->wrap(join("\n", $this->elements), 'pre', ' class="CLASSNAME"') . '</div>';
    のようになります。 -- 2008-12-12 (金) 21:06:39
  • tp://www.stackasterisk.jp/tech/php/phpBasic01_01.jsp くらいは読んだ方が・・・ -- 2008-12-12 (金) 22:18:04
  • 無事にできました。ありがとうございます。上記のURLを参考に勉強してみますね。 -- 2008-12-15 (月) 19:41:12


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-15 (月) 19:41:21
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u6. HTML convert time: 0.837 sec.

OSDN