IllIllIll
@IllIllIll (Anz)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

PHP preg_replaceについて

$link = '参考:[LINK]http://example.com/seiseki[/LINK]';
$link = preg_replace('/(\[LINK\])(http:\/\/.+)(\[\/LINK\])/ui', '<a href="${2}" target="_blank">${2}</a>', $link);

というサンプルコードがあり、実行結果は

参考:http://example.com/seiseki

となるのですが、
(http://.+)がどういう役割を持っているのか教えてください。「http://」からはじまるそれ以降のテキスト全てに対して、というイミだと思ったのですが、それだと「.+」が何のためにあるかわかりません。
よろしくお願いします。

0

1Answer

Comments

  1. [LINK] で始まり
    http://(何かしらの文字の連続) が次に来て
    [/LINK] で終わる文字列

    にマッチさせてますね

    「http://」からはじまるそれ以降のテキスト全てに対して、というイミだと思ったのですが、それだと「.+」が何のためにあるかわかりません。

    合ってます

    .+ がまさに それ以降のテキスト全て を表しているわけで ( ただし [/LINK] にマッチするまでの分 )
    .+ を書かないと [LINK]http://[/LINK] にしかマッチしません

  2. @IllIllIll

    Questioner

    整理つきました。任意の文字がいくつ続いてもいいですよ、ってイミなんですね。
    ありがとうございます。

Your answer might help someone💌