我知道我可以使用str_replace在字符串中很容易地替换某些东西。但是当我找不到一个非常简单的内容分隔符时,我完全不知道该怎么做。
我的字符串可以在其中的任何位置包含链接,例如
$tweet = "Testing a tweet with a link https://t.co/h4C0aobVnK in the middle";
或
$tweet = "Testing a tweet with a link: https://t.co/dgg0eA3uIt";
我有一个变量$embedded_link
,其中包含一个已经准备好的美化<a>
标记。 E.g
<a href="https://dev.twitter.com/oauth/application-only" target="_blank">dev.twitter.com/oauth/applicat…</a>
我需要替换始终以https://
开头的链接,并在有下一个空格时结束,并将其替换为$embedded_url
所以这个:
$tweet = "Testing a tweet with a link https://t.co/h4C0aobVnK in the middle";
成为这个:
$tweet = "Testing a tweet with a link <a href="https://dev.twitter.com/oauth/application-only" target="_blank">dev.twitter.com/oauth/applicat…</a> in the middle";
你会怎么做?我在考虑使用https://
和space
作为分隔符,但是字符串末尾可能没有空格。
答案 0 :(得分:1)
答案 1 :(得分:0)
通常我使用strstr查找以https://
开头的查找字符串$url = strstr($str, "https://");
然后使用strpos进行查找结束。如果找到空间,那么通过这个长度substr字符串。其他变量已包含url。
$pos = strpos($url, " ");
if ($pos > 0) {
$url = substr($url, 0, $pos)
}