QA@IT
«回答へ戻る

502
 
 (snip)
 ```
+
+※ リンク先では mb_ereg_replace が使えなかったので少し変えています

(https?)(://[[a-zA-Z0-9]\+\$\;\?\.%,!#~*/:@&=_-]+) では目的の URL がマッチしないように見えたのですが、これは意図した正規表現でしょうか?
それから、リンクの文字列がシングルクォートで囲まれているせいで、変数が展開できていないように見えます。

意図したのは こんな (かなりテキトウですが) 感じの動きでしょうか。
主に変更したのは以下の箇所です。ひとまず URL っぽいものにマッチするようにして、変数を展開できるようにしました。

(snip)

<?php

function makeLink($value) {
    return ereg_replace("(https?:\/\/[^\s]+)", "<a href=\"#\" onclick=\"alert('$value');\">\\1</a>" , $value);
}

(snip)

※ リンク先では mb_ereg_replace が使えなかったので少し変えています

`(https?)(://[[a-zA-Z0-9]\+\$\;\?\.%,!#~*/:@&=_-]+)` では目的の URL がマッチしないように見えたのですが、これは意図した正規表現でしょうか?
それから、リンクの文字列がシングルクォートで囲まれているせいで、変数が展開できていないように見えます。

意図したのは [こんな (かなりテキトウですが)](https://eval.in/73440) 感じの動きでしょうか。
主に変更したのは以下の箇所です。ひとまず URL っぽいものにマッチするようにして、変数を展開できるようにしました。

```php
(snip)

<?php

function makeLink($value) {
    return ereg_replace("(https?:\/\/[^\s]+)", "<a href=\"#\" onclick=\"alert('$value');\">\\1</a>" , $value);
}

(snip)
```

※ リンク先では mb_ereg_replace が使えなかったので少し変えています

回答を投稿

(https?)(://[[a-zA-Z0-9]\+\$\;\?\.%,!#~*/:@&=_-]+) では目的の URL がマッチしないように見えたのですが、これは意図した正規表現でしょうか?
それから、リンクの文字列がシングルクォートで囲まれているせいで、変数が展開できていないように見えます。

意図したのは こんな (かなりテキトウですが) 感じの動きでしょうか。
主に変更したのは以下の箇所です。ひとまず URL っぽいものにマッチするようにして、変数を展開できるようにしました。

(snip)

<?php

function makeLink($value) {
    return ereg_replace("(https?:\/\/[^\s]+)", "<a href=\"#\" onclick=\"alert('$value');\">\\1</a>" , $value);
}

(snip)
`(https?)(://[[a-zA-Z0-9]\+\$\;\?\.%,!#~*/:@&=_-]+)` では目的の URL がマッチしないように見えたのですが、これは意図した正規表現でしょうか?
それから、リンクの文字列がシングルクォートで囲まれているせいで、変数が展開できていないように見えます。

意図したのは [こんな (かなりテキトウですが)](https://eval.in/73440) 感じの動きでしょうか。
主に変更したのは以下の箇所です。ひとまず URL っぽいものにマッチするようにして、変数を展開できるようにしました。

```php
(snip)

<?php

function makeLink($value) {
    return ereg_replace("(https?:\/\/[^\s]+)", "<a href=\"#\" onclick=\"alert('$value');\">\\1</a>" , $value);
}

(snip)
```