我们还是继续说一下百度AI语音合成,整体的功能上没有问题,但是在细节上需要注意符号问题,这也是在开发过程中实际遇到的,目前主要涉及到了三个符号“、”、——。
在我们拿到文字内容时先将空格进行去除,方式如下:
代码语言:javascript复制//替换空行
$content = strtr($content, [" " => '']);
然后将HTML代码进行去除,方式如下:
代码语言:javascript复制//去除标签
$content = strip_tags($content);
按照现有的方式,我们可以看到纯文字了,基本上满足了大多数文章了,但是在特殊文章上遇到了问题,一篇文章中含有“”——时,就会出现ldquo、rdquo、mdash读音。这是一个非常严重的问题,我们需要将其进行替换。方式如下:
代码语言:javascript复制//去除部分标点符号
$content = str_replace(['“', '”', "—"], [], $content);
这里说一下PHP的str_replace函数。支持数组形式进行替换,但是要求查询格式和替换格式均为数组形式。可对多个条件进行执行,目前我们知道了上面三个符号在读音上出现问题。
后续会继续更新百度AI语音合成文字及注意事项。