PHP 从字符串替换动态 url


PHP Replace Dynamic url from string

我有一个机器人声音,可以将句子变成口语mp3文件。但是机器人语音无法发音网址,所以我想过滤掉网址。

我收到了动态字符串,如下所示:"你好,我叫杰弗里"这工作正常,但字符串也可以包含 url,如下所示:"你好 http://wwww.google.nl 是一个非常好的网站。或"你好,你 https://soundcloud.com/theforeignexchangemusic/zo-manmade-sampler 怎么样......"或"看看这张照片 http://instagram.com/p/xPiSn8Pmli/等等

如果字符串包含 url,我想用单词替换 url。有人知道这样做的好方法吗?因为字符串是动态的(长度、内容和位置),我发现很难做到。如果有人有好主意,请告诉我!将不胜感激。

最好的办法是使用 RegEx 解析字符串以查看 URL 是否出现。

然后

使用正则表达式找到基本域,然后发声。

/

^(https?://)?([''da-z.-]+).([a-z.]{2,6})([/''w .-]/?$/URL 的正则表达式

更多参考

用于解析您的网址

如果有人正在寻找完全相同的东西,这里有一个工作示例。

<?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;
?>