Php 卷曲度+;使用css和javascript资源的绝对url阅读web内容

Php 卷曲度+;使用css和javascript资源的绝对url阅读web内容,php,curl,Php,Curl,我正在阅读一个使用PHP CURL的外部网站,它有如下css和javascript调用 <link rel="stylesheet" href="styles.css" type="text/css"/> <script type='text/javascript' src='js/scripts.js'></script> <link rel="stylesheet" href="http://mywebsite.com/styles.css" ty

我正在阅读一个使用PHP CURL的外部网站,它有如下css和javascript调用

<link rel="stylesheet" href="styles.css" type="text/css"/>
<script type='text/javascript' src='js/scripts.js'></script>
<link rel="stylesheet" href="http://mywebsite.com/styles.css" type="text/css"/>
<script type='text/javascript' src='http://mywebsite.com/js/scripts.js'></script>

如果该网站是,我需要得到以下内容

<link rel="stylesheet" href="styles.css" type="text/css"/>
<script type='text/javascript' src='js/scripts.js'></script>
<link rel="stylesheet" href="http://mywebsite.com/styles.css" type="text/css"/>
<script type='text/javascript' src='http://mywebsite.com/js/scripts.js'></script>

有没有这样做的选择


谢谢大家!

您可以使用正则表达式执行此操作

如果curl_exec的结果保存为$result:

if (!preg_match('/src="https?:\/\/"/', $result)) {
    $result = preg_replace('/src="(http:\/\/([^\/]+)\/)?([^"]+)"/', "src=\"http://mywebsite.com/\\3\"", $result);
}
if (!preg_match('/href="https?:\/\/"/', $result)) {
    $result = preg_replace('/href="(http:\/\/([^\/]+)\/)?([^"]+)"/', "href=\"http://mywebsite.com/\\3\"", $result);
}