質問箱/3279

カテゴリ
サマリ「****」で<h5>を指定したい
バージョン1.4.6
投稿者H.K?
状態完了
投稿日2005-12-16 (金) 13:46:18

質問

デフォルトでは見出しは3つのレベルで、「*」で<h2>、「**」で<h3>、「***」で<h4> になります。 4つのレベルで表現したいため、「****」で<h5>となるようにconvert_html.phpの240行目をいじってみました。

変更前:$this->level = min(3, strspn($text, '*'));
変更後:$this->level = min(4, strspn($text, '*'));

すると見事に<h5>にはなるのですが、「*」が余分に出力されてしまいます。

(例)****あいうえお ---> <h5>*あいうえお</h5>

どうしたら「****」で4レベル目を表現できるでしょうか。 (=余分な「*」を表示させないことは可能でしょうか。)

回答

  • どこかに同じ話題があったような気がします。 :) -- teanan 2005-12-16 (金) 15:14:32
  • ここですね。 -- teanan 2005-12-16 (金) 15:36:10
    lib/html.php : 366行目付近
    	$matches = array();
    -	if (preg_match('/^(\*{0,3})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m', $str, $matches)) {
    +	if (preg_match('/^(\*{0,4})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m', $str, $matches)) {
    		$str = $matches[2] . $matches[4];
  • ただ、色々なところで同じ正規表現かけているようですので、正しく動作するかどうか・・・ -- teanan 2005-12-16 (金) 15:45:46
  • ありがとうございます。悩みに悩んでいた問題が解決しました。これでアンカーを抜くことが出来れば言うこと無いのですが。レベルを4つまで作るという目的は達せられました。ありがとうございました。 -- H.K? 2005-12-16 (金) 20:07:19
  • 同じく悩んでましたが解決しました。ありがとうございます!↓もいじりました -- SantA2? 2006-05-23 (火) 16:24:40
    lib/html.php : 370行目
    -	$str = preg_replace('/^\*{0,3}/', '', $str);
    +	$str = preg_replace('/^\*{0,4}/', '', $str);
  • ハードコードせずに変数に格納はしないんですかね? -- cronicle? 2006-05-24 (水) 19:26:32

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

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

OSDN