PHP: 使字符串可点击

PHP: make a string clickable

对于普通话学习工具,我想为每个中文 "character" 创建一个单词内的链接。例如我有中文单词“自行车”(自行车)。然后我想使三个字符中的每一个 "clickable".

$word = '自行车';

输出应该是:

$output = "<a href='?char=自'>自</a> 
<a href='?char=行'>行</a> 
<a href='?char=车'>车</a>";

有人知道怎么做吗?

使用此正则表达式,您可以拆分字符。

preg_split('//u', "自行车", null, PREG_SPLIT_NO_EMPTY);

结果是三个字符的数组。

您可以在 for 循环中提取字符并生成锚标记。

<a href='<link?char=<extracted char>'><extracted char></a>

您可以使用preg_replace将中文字符替换为正则表达式/(\p{Han})/u,然后将其替换为您需要的。

preg_replace("/(\p{Han})/u","<a href='?char='></a>",'ss自行车ss');

输出:

ss<a href='?char=自'>自</a><a href='?char=行'>行</a><a href='?char=车'>车</a>ss

参考 Php - regular expression to check if the string has chinese chars