ponponumi / link_create
Requires
- piscibus/php-hashtag: ^1.1
- ponponumi/email_search: ^1.0
- ponponumi/match_pos: ^1.0
- ponponumi/url_search: ^1.0
- ponponumi/url_tool: ^1.0
This package is auto-updated.
Last update: 2025-03-01 00:33:13 UTC
README
このパッケージは、テキストからリンクを生成するPHPパッケージです。
リンク化の対象となるものは、次の通りです。
- URL
- メールアドレス
- ハッシュタグ
Composerでのインストールについて
次のコマンドを実行する事で、インストール可能です。
composer require ponponumi/link_create
このライブラリの挙動
私のメールアドレスは、 hoge@example.com で、ホームページは https://example.com です!
例えば、上記の文字列を、下記のHTMLに変換します!
私のメールアドレスは、 <a href="mailto:hoge@example.com"> hoge@example.com </a> で、ホームページは <a href="https://example.com" target="_blank" rel="noopener noreferrer" > https://example.com </a> です!
HTMLとして取得する場合の使い方
HTMLとして取得する場合、次の方法で取得可能です
use Ponponumi\LinkCreate\Web; $text = "私は、PHPのサーバーサイド開発の方が好きかな #プログラミング #PHP"; // オプション $option = [ "hashtagUrl" => 'http://localhost:2230/search.php?tag={hashtag}', ]; // aタグを生成 $a = Web::create($text,$option); // 出力結果 /* 私は、PHPのサーバーサイド開発の方が好きかな <a href="http://localhost:2230/search.php?tag=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0">#プログラミング</a> <a href="http://localhost:2230/search.php?tag=PHP">#PHP</a> */
HTMLの生成が面倒な場合は、こちらをご利用ください。
HTMLとして取得する場合のオプション
オプションについては、次のようになります。
hashtagNotGet
trueの場合はハッシュタグが取得されません。
初期状態ではfalseです。
hashtagUrl
ハッシュタグ検索用のURLのベースです。
初期状態では空文字です。
実際にハッシュタグに置き換えたい部分に、 {hashtag} と記述して下さい。
この部分は、文字列以外の値を登録しないで下さい。
hashtagNotGetの設定に関わらず、この項目を設定しない場合、ハッシュタグはリンク化されません。
emailNotGet
trueの場合はメールアドレスが取得されません。
初期状態ではfalseです。
urlNotGet
trueの場合はURLが取得されません。
初期状態ではfalseです。
blankMode
これは、HTMLの target="_blank" と rel="noopener noreferrer" を有効にするかどうかです。
挙動は次の通りです。
- 0 → 常に無効 (安全性の観点から非推奨)
- 1 → 外部リンクであれば有効
- 2 → 常に有効
初期状態では1です。
internalUrl
これは、内部ホストを上書きするかどうかです。
上書きする場合は、ホスト(ドメイン)か、トップページのURLを入力して下さい。
初期状態では空文字です。
この部分は、文字列以外の値を登録しないで下さい。
空文字にした場合、内部のホストは $_SERVER["HTTP_HOST"] で取得したものが使われます。
通常は、空文字にして下さい。
hashDelete
trueの場合は、ハッシュタグのURL生成時、#が削除されます。
初期状態ではtrueです。
hashEncode
trueの場合は、ハッシュタグの部分が、urlencode関数でエンコードされます。
初期状態ではtrueです。
nbspEncode
trueの場合は、半角スペースが、「 」にエンコードされます。
初期状態ではtrueです。
連想配列として取得する場合(一致データの取得)
一致データの取得については、次の方法で行えます。
use Ponponumi\LinkCreate\Core; $text = "メールアドレスは hoge@example.com です!"; // オプション $option = [ "email", ]; // リストを生成 $hit = Core::get($text,$option); // 出力結果 /* array(1) { [0]=> array(2) { ["pos"]=> int(9) ["value"]=> string(16) "hoge@example.com" } } */
連想配列として取得する場合(整理済みデータの取得)
整理済みデータの取得については、次の方法で行えます。
use Ponponumi\LinkCreate\Core; $text = "メールアドレスは hoge@example.com です!"; // オプション $option = [ "email", ]; // リストを生成 $hit = Core::arrangement($text,$option); // 出力結果 /* array(3) { [0]=> array(2) { ["text"]=> string(25) "メールアドレスは " ["link"]=> NULL } [1]=> array(2) { ["text"]=> string(16) "hoge@example.com" ["link"]=> string(16) "hoge@example.com" } [2]=> array(2) { ["text"]=> string(10) " です!" ["link"]=> NULL } } */
こちらについては、クライアントサイドでデータの処理を行いたい場合、出力されるHTMLを調整したい場合などに向いています。
連想配列として取得する場合のオプション
配列に、次の文字列を入力すると、それぞれ取得されます。
- url → URL
- email → メールアドレス
- hashtag → ハッシュタグ
初期状態では、全て取得する設定になっています。
ライセンスについて
このパッケージは、MITライセンスとして作成されています。
このパッケージは、ponponumiが作成したパッケージの他、 piscibus様が制作した、PHP Hashtag を使用しています。