[英]php string replace http to https (with www or not)
我有一个这样的字符串:
$url = '<p>IMAGE 1:</p><img src="http://example.com/image1.jpg"><br><p>IMAGE 2:</p><img src="http://www.example.com/image2.jpg"><br><p>IMAGE 3:</p><img src="http://externalsite.com/image3.jpg"><br><p>IMAGE 4:</p><img src="http://www.externalsite.com/image4.jpg">'
example.com 是我的 webapp 所在的域。
我需要:
对于第一点,我可以使用: $isHttps = !empty($_SERVER['HTTPS']) ? true : false;
$isHttps = !empty($_SERVER['HTTPS']) ? true : false;
对于第二点,我不确定如何正确创建 preg_replace
我认为这就是你想要的逻辑。 我们可以搜索以下正则表达式模式:
http://(?:www\.)?example\.com
这将匹配http://example.com
和http://www.example.com
。 然后,我们可以将这些 URL 替换为https
版本。
$url = '<p>IMAGE 1:</p><img src="http://example.com/image1.jpg"><br><p>IMAGE 2:</p><img src="http://www.example.com/image2.jpg"><br><p>IMAGE 3:</p><img src="http://externalsite.com/image3.jpg"><br><p>IMAGE 4:</p><img src="http://www.externalsite.com/image4.jpg">';
$output = preg_replace("/http:\/\/(?:www\.)?example\.com/", "https://www.example.com", $url);
echo $output;
这打印:
<p>IMAGE 1:</p><img src="https://www.example.com/image1.jpg"><br><p>IMAGE 2:</p><img src="https://www.example.com/image2.jpg"><br><p>IMAGE 3:</p><img src="http://externalsite.com/image3.jpg"><br><p>IMAGE 4:</p><img src="http://www.externalsite.com/image4.jpg">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.