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
对于普通话学习工具,我想为每个中文 "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