替换http和https ..?

时间:2017-03-09 22:40:41

标签: php regex preg-replace strpos

我的用户有一个简单的php和jquery聊天室。我目前正在使用链接的url版本替换www.http://字符串,以使链接可以点击。这很棒,但不会捕获https://个链接。如何更改http或https?这是当前的代码

$find = 'http://';
$check_for_links = strpos($message, $find);
if($check_for_links === false) {
    $message = preg_replace('/((www)[^ ]+)/', '<a href="http://$1">$1</a> ', $message);
} else {
    $message = preg_replace('/((http:\/\/)[^ ]+)/', '<a href="$1">$1</a> ', $message);
}

2 个答案:

答案 0 :(得分:2)

使用preg_match函数代替strpos来“捕获”httphttps计划:

if (!preg_match("/https?:/", $message)) {
    $message = preg_replace('/((www)[^ ]+)/', '<a href="http://$1">$1</a> ', $message);
} else {
    $message = preg_replace('/((https?:\/\/)[^ ]+)/', '<a href="$1">$1</a> ', $message);
}

答案 1 :(得分:1)

它在 PHP 中完美运行

str_replace(["https://", "http://"], ["", ""], "https://stackoverflow.com/");