文字列(入力されたURLを含むことができる説明テキスト)から型付きURLを抽出してhrefに変換する正規表現があります。これは、URLが入力され、最後の文字が "、" ")である場合を除いて、URLの一部としてこの文字も使用されるという点を除いて、すべて正常に動作します。どうすればこれを防ぐことができますか?regexを使用して文字列から特定の文字を除外します
例のテキスト:
こんにちは、これは私のリンクが含まれている美しいメッセージ(www.website.comを参照)、いくつかの詳細情報です。
私のregexはURLを読み込みますが、hrefを作成するときに最後の文字 ")"を取ります。その結果、リンクが不正になります。
私の正規表現:
preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $text);