電子書籍の厳選無料作品が豊富!

プログラム初心者です

シンプルな掲示板を作りました

引用の自動リンクを設置する方法を教えてください

例えば
さっきの回答>>10ありがとう
とユーザーが記入したら

さっきの回答<a href="bbs.php?id=10">&gt;&gt;10</a>ありがとう

と置換える感じです



よろしくお願いします

A 回答 (3件)

普通にこんな感じでよいのでは?



<?PHP
$str="さっきの回答>>10ありがとう";
$pattern="/>>(\d+)/";
$replacement="<a href=\"bbs.php?id=$1\">&gt;&gt;$1</a>";
$str=preg_replace($pattern,$replacement,$str);
print $str."<br>\n";
print htmlspecialchars($str);
?>
    • good
    • 0
この回答へのお礼

回答ありがとうございます
これなら自分でも使えそうです。ありがとうございます

お礼日時:2013/10/25 13:01

ひとつひとつやっていけばそんなに難しくないですよ。



1.
本文から>>を探し、引用文字範囲を特定

2.
>>につづく数字を調査
全角文字で入力される可能性も考慮して。

3.
1.で得た引用範囲にある文字列と、2.で得た数字を利用してリンクをつくる
具体的には、1.の文字列をリンクに置き換える感じですね。


全部分からないではなくて、やれるところまでやって、分からないところだけを質問したほうが、より前に進むと思いますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
なんとかできました

お礼日時:2013/10/25 13:00

どうせならついでに一般的なURLも自動リンクしちゃいましょう。



URLの正規表現
http://qiita.com/mpyw/items/1e422848030fcde0f29a

↑をちょっと書き換えて、引用の自動リンクにも対応させた例がこちら
http://ideone.com/CMogL8
    • good
    • 0
この回答へのお礼

回答ありがとうございます
完璧なコードだとは思うのですが、貧弱レンタルサーバー使っているので、負荷が気になります

お礼日時:2013/10/25 12:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!