質問箱/4538
の編集
Top
/
質問箱
/
4538
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/4538]] [#vbfd20af] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|行頭に空白文字が入っている行の文字列にリンクを設定したい| |~バージョン|1.4.7| |~投稿者|[[godzilla]]| |~状態|完了| |~投稿日|&new{2009-12-13 (日) 01:02:14};| ***質問 [#o945ddc5] コードリーディングのツールとして利用しているのですが、インデントして行頭に空白文字が1つでも入っているとその行の文字列にリンクを設定できません。~ 例) int main(){ struct [[file]] *files; 上記例のようにfileにリンクを設定してfile構造体を定義しているページへ飛べるようにしたいのですが [[file]] として表示されてしまいます。しかたないので、次の行の先頭に別途リンクの設定をしていますが、都度同じ文字列が出てくるので全体が間延びして見にくくなってしまいます。何かよい方法があればご紹介ください。 ***回答 [#o1f7c39f] - [[整形済みテキスト>整形ルール#g72f3a72]] は整形のルールを一切適用しないので、そうなります。&br;[[dev:PukiWiki/1.4/ちょっと便利に/インライン要素が展開される整形済みテキスト行]] を使うとか?ただし、リンク以外の[[インライン要素>整形ルール#l7110f11]] に見えるものにもルールが適用されてしまうとか、行頭に# をいちいち付けないといけないとか、長所ばかりでもないんですが・・・ -- &new{2009-12-13 (日) 10:40:28}; - 副作用がありそうですが・・・ (^^; -- [[teanan]] &new{2009-12-13 (日) 22:57:20}; --- convert_html.php.orig Sat May 13 16:29:58 2006 +++ convert_html.php Sun Dec 13 22:59:18 2009 @@ -743,7 +743,8 @@ function toString() { - return $this->wrap(join("\n", $this->elements), 'pre'); + $string = make_link(join("\n", $this->elements)); + return $this->wrap($string, 'pre'); } } - お二方有難うございます。teananさんのpatchを取り入れたのですが、エイリアスが使えません。ここの例では、示していなかったのですが、構造体のタグ名、変数名と関数名を区別する意図もあって[ [エイリアス名>ページ名] ]としていました。何か方法があるようでしたらご紹介ください。phpをさわれればよいのですが、pukiwikiでページを作りかけたばかりでpukiwikiもphpも全くわかっていない素人です。 -- [[godzilla]] &new{2009-12-14 (月) 23:40:01}; - teanan さ~ん。Pre クラスはデータの取り込み時に、[[htmlspecialchars()>PHP関数:htmlspecialchars]] してますよ~。 class Pre extends Element { function Pre(& $root, $text) { global $preformat_ltrim; parent::Element(); $this->elements[] = htmlspecialchars( (! $preformat_ltrim || $text == '' || $text{0} != ' ') ? $text : substr($text, 1)); } 「> → >」変換されたせいで、エイリアスが効かなくなっていそう。(そのまま表示するには、セキュリティ的に必要な処理なんですが)&br;teanan さんのパッチをキャンセルして、上に挙げた部分を - $this->elements[] = htmlspecialchars( + $this->elements[] = make_link( としたらどうですか? -- &new{2009-12-15 (火) 15:12:25}; -- 失礼いたしました、ご指摘の通りです((久々で忘れてしまっています(ノД`) ))。 -- [[teanan]] &new{2009-12-15 (火) 16:15:22}; - ありがとうございます。エイリアスが使えるようになりました。もう少し時間に余裕ができたならpukiwikiやってみようかなぁ... と思ったりしております。 --[[godzilla]] &new{2009-12-15 (火) 23:35:55}; //#comment
**[[質問箱/4538]] [#vbfd20af] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|行頭に空白文字が入っている行の文字列にリンクを設定したい| |~バージョン|1.4.7| |~投稿者|[[godzilla]]| |~状態|完了| |~投稿日|&new{2009-12-13 (日) 01:02:14};| ***質問 [#o945ddc5] コードリーディングのツールとして利用しているのですが、インデントして行頭に空白文字が1つでも入っているとその行の文字列にリンクを設定できません。~ 例) int main(){ struct [[file]] *files; 上記例のようにfileにリンクを設定してfile構造体を定義しているページへ飛べるようにしたいのですが [[file]] として表示されてしまいます。しかたないので、次の行の先頭に別途リンクの設定をしていますが、都度同じ文字列が出てくるので全体が間延びして見にくくなってしまいます。何かよい方法があればご紹介ください。 ***回答 [#o1f7c39f] - [[整形済みテキスト>整形ルール#g72f3a72]] は整形のルールを一切適用しないので、そうなります。&br;[[dev:PukiWiki/1.4/ちょっと便利に/インライン要素が展開される整形済みテキスト行]] を使うとか?ただし、リンク以外の[[インライン要素>整形ルール#l7110f11]] に見えるものにもルールが適用されてしまうとか、行頭に# をいちいち付けないといけないとか、長所ばかりでもないんですが・・・ -- &new{2009-12-13 (日) 10:40:28}; - 副作用がありそうですが・・・ (^^; -- [[teanan]] &new{2009-12-13 (日) 22:57:20}; --- convert_html.php.orig Sat May 13 16:29:58 2006 +++ convert_html.php Sun Dec 13 22:59:18 2009 @@ -743,7 +743,8 @@ function toString() { - return $this->wrap(join("\n", $this->elements), 'pre'); + $string = make_link(join("\n", $this->elements)); + return $this->wrap($string, 'pre'); } } - お二方有難うございます。teananさんのpatchを取り入れたのですが、エイリアスが使えません。ここの例では、示していなかったのですが、構造体のタグ名、変数名と関数名を区別する意図もあって[ [エイリアス名>ページ名] ]としていました。何か方法があるようでしたらご紹介ください。phpをさわれればよいのですが、pukiwikiでページを作りかけたばかりでpukiwikiもphpも全くわかっていない素人です。 -- [[godzilla]] &new{2009-12-14 (月) 23:40:01}; - teanan さ~ん。Pre クラスはデータの取り込み時に、[[htmlspecialchars()>PHP関数:htmlspecialchars]] してますよ~。 class Pre extends Element { function Pre(& $root, $text) { global $preformat_ltrim; parent::Element(); $this->elements[] = htmlspecialchars( (! $preformat_ltrim || $text == '' || $text{0} != ' ') ? $text : substr($text, 1)); } 「> → >」変換されたせいで、エイリアスが効かなくなっていそう。(そのまま表示するには、セキュリティ的に必要な処理なんですが)&br;teanan さんのパッチをキャンセルして、上に挙げた部分を - $this->elements[] = htmlspecialchars( + $this->elements[] = make_link( としたらどうですか? -- &new{2009-12-15 (火) 15:12:25}; -- 失礼いたしました、ご指摘の通りです((久々で忘れてしまっています(ノД`) ))。 -- [[teanan]] &new{2009-12-15 (火) 16:15:22}; - ありがとうございます。エイリアスが使えるようになりました。もう少し時間に余裕ができたならpukiwikiやってみようかなぁ... と思ったりしております。 --[[godzilla]] &new{2009-12-15 (火) 23:35:55}; //#comment
テキスト整形のルールを表示する