我有一个机器人声音,可以将句子变成语音mp3文件。 但机器人的声音不能发音url,所以我想过滤掉网址。
我有动态字符串进来,看起来像这样: “你好,我的名字是杰弗里” 这工作正常,但字符串也可以包含网址,如下所示: “你好http://wwww.google.nl是一个非常好的网站。” 要么 “你好,你好https://soundcloud.com/theforeignexchangemusic/zo-manmade-sampler ......” 要么 “看一下这张照片http://instagram.com/p/xPiSn8Pmli/” 等等
如果一个字符串包含一个url,我想用一个单词替换url。 有人知道这样做的好方法吗? 因为字符串是动态的(长度,内容和位置),我觉得很难做到。 如果有人有个好主意,请告诉我! 非常感激。
答案 0 :(得分:1)
最好的办法是使用RegEx来解析字符串以查看是否出现了URL。
使用RegEx然后找到基本域,然后发出声音。
/^(https?://)?([\da-z.-]+).([a-z.]{2,6})([/\w .-])/?$/ Regex for URLs
答案 1 :(得分:0)
如果有人在寻找完全相同的东西,这是一个有效的例子。
<?php
$hallo = 'Hey it works. http://onderbroekenlol.nl something behind the url.';
$str = preg_replace("/(?:https?:\/\/)?(?:[\w]+\.)([a-zA-Z\.]{2,6})([\/\w\.-]*)*\/?/", "a website", $hallo);
print $str;
?>