PHP: сделать строку кликабельной - PullRequest
1 голос
/ 06 ноября 2019

Для инструмента обучения Мандарин я хотел бы создать ссылки для каждого китайского "символа" в слове. Например, у меня есть китайское слово «自行车» (велосипед). Затем я хотел бы сделать каждый из трех символов «кликабельным».

$word = '自行车';

И вывод должен быть:

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

У кого-нибудь есть идеи, как это сделать?

Ответы [ 3 ]

3 голосов
/ 06 ноября 2019

С помощью этого регулярного выражения вы можете разделить свои символы.

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

результат - массив из трех символов.

1 голос
/ 06 ноября 2019

Вы можете извлекать символы в цикле for и генерировать теги привязки.

<a href='<link?char=<extracted char>'><extracted char></a>
0 голосов
/ 06 ноября 2019

Вы можете использовать preg_replace для замены китайского символа регулярным выражением /(\p{Han})/u, а затем заменить его на то, что вам нужно.

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

output:

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

Обратитесь к Php - регулярное выражение, чтобы проверить, есть ли в строке китайские символы

...