ponponumi/link_create

1.0.1 2024-05-01 12:50 UTC

This package is auto-updated.

Last update: 2024-10-01 00:08:55 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>
  &nbsp;で、ホームページは&nbsp;
  <a href="https://example.com" target="_blank" rel="noopener noreferrer" >
    https://example.com
  </a>
  &nbsp;です!

获取HTML时的用法

获取HTML时,可以使用以下方法

use Ponponumi\LinkCreate\Web;

$text = "私は、PHPのサーバーサイド開発の方が好きかな #プログラミング #PHP";

// オプション
$option = [
  "hashtagUrl" => 'https://:2230/search.php?tag={hashtag}',
];

// aタグを生成
$a = Web::create($text,$option);

// 出力結果

/*
私は、PHPのサーバーサイド開発の方が好きかな&nbsp;
<a href="https://: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>
&nbsp;
<a href="https://: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,则将半角空格编码为“&nbsp;”。

默认为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创建的包之外,还使用了ponponumi创建的包 piscibus制作的PHP Hashtag