2

我正在制作一个音节计数器,它使用以下参数将单词连字

前任。

分辨率 = 重新解决

Ver sat ile = Ver-sa-til

Ped ago gy = Pe-da-go-gy

翻译 = 翻译

Americ an = Ame-ri-can

基本的 = ru-di-men-ta-ry

高光 = 高光

我使用 PHP 对其进行编码,到目前为止,我能够分解这个词:

<?php

$string = 'University';

preg_replace('/tion|[aeiou]/', "-$0", $string);

?>

输出: 大学

它现在需要做的是读取异常。放入规则后输出。

  1. 版本
  2. 西

我将如何更改 PHP 表达式以考虑所需的规则?java脚本可能是一种更好的语言吗?

4

1 回答 1

1

由于将单词分成音节不是您可以表达为“规​​则”的东西,因此正则表达式不是一个好工具(语言无关紧要)。例外太多了!唯一合理的事情是创建一个解析器。

也就是说,对于您在上面发布的示例,您可以执行以下操作:

preg_replace('/tion|Uni|ver|si|ty|[aeiou]/', "-$0", $string);
于 2013-10-29T04:16:02.150 回答