preg_replace_callback でゴリ押しする方法 否定戻り読みを使う方法 いまさら感の拭えないタイトルではありますが、意外と「すでにリンクになっている場合もある」想定のノウハウが見つかりませんでした。 preg_replace_callback でゴリ押しする方法 /** * @param string $body 処理対象のテキスト * @param string|null $link_title リンクテキスト * @return string */ function url2link($body, $link_title = null) { $pattern = '/(href=")?https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+/'; $body = preg_replace_callback($pattern, func