用PHP和正则表达式推进音节计数器

时间:2013-10-29 04:03:28

标签: php regex

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

实施例。

Resoluo nio = re-so-lu-tion

Ver sat ile = Ver-sa-til

Ped ago gy = Pe-da-go-gy

Tra nsu bst ant iat ion = tran-sub-stan-ti-atio

Ame ric an = Ame-ri-can

Rudimentary = ru-di-men-ta-ry

Hig hli ght = high-light

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

<?php

$string = 'University';

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

?>

输出: UN-IV-ERS-两者均

现在需要做的是阅读例外情况。 规则放入后的输出。

  1. 的Uni
  2. 版本
  3. SI
  4. TY
  5. 如何更改PHP表达式以满足所需规则? java脚本可能是更好的语言吗?

1 个答案:

答案 0 :(得分:1)

由于将一个单词分成音节并不能表达为“规​​则”,因此正则表达式不是一个好的工具(语言并不重要)。有太多例外!唯一合理的做法是创建一个解析器。

那就是说,对于你上面发布的例子,你可以这样做:

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