ホームページ  >  記事  >  バックエンド開発  >  PHP でプレーン テキスト URL を HTML ハイパーリンクに変換するにはどうすればよいですか?

PHP でプレーン テキスト URL を HTML ハイパーリンクに変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-10 12:32:02412ブラウズ

How can I convert plain text URLs to HTML hyperlinks in PHP?

PHP でプレーン テキスト URL を HTML ハイパーリンクに変換する

Web ページ内のハイパーリンクをクリックできるようにすることは、ユーザー ナビゲーションにとって重要です。このガイドでは、データベース レコード内のプレーン テキスト URL を HTML アンカー リンクに変換するためのさまざまな PHP ソリューションについて説明します。

正規表現によるパターン マッチング:

選択的にHTTP または HTTPS リンクのみを変換するには、次の正規表現を利用できます:

$url = '~https?://(?!\/).*(?=[\s\n])~';

このパターン フィルタースラッシュ (/) で始まるリンクを除外し、完全な URL のみをターゲットにします。

パターンと変換:

以下は、このパターンを使用して、 URL の変換:

$url = '~https?://(?!\/).*(?=[\s\n])~';
$string = preg_replace($url, '<a href="<pre class="brush:php;toolbar:false">$url = '@(http|https|ftp|ftps)\:\/\/(([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-]))@';
" target="_blank" title="
$url = '@(http(s)?)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@';
">
$email = '<a href="mailto:[email protected]">[email protected]</a>';
', $string);

代替オプション:

すべての種類の URL をキャプチャする広範なアプローチの場合は、次のパターンの使用を検討してください:

URL 解析で末尾の が削除される場合は、代わりに次のことを試してください。

特定の場合の簡単な解決策ケース:

プレーン テキスト URL が主に電子メール アドレスで構成されている場合、それらを mailto リンクに変換する簡単な解決策は次のとおりです:

考慮事項:

各 PHP サーバーの構成は異なる場合があり、異なるスクリプトの有効性に影響を与える可能性があることに注意してください。さらに、各プロジェクトの特定の要件によって、どのスクリプトが最も適しているかが決まる場合があります。

以上がPHP でプレーン テキスト URL を HTML ハイパーリンクに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。