如何使用php preg_replace将基本标记添加到head标记

时间:2015-08-07 12:23:34

标签: php regex curl

我正在使用cURL请求输出一些代码。为了将相对地址更改为绝对地址,我想在head标记中附加一个基本标记。

我以为preg_replace可以做到这一点,但我对正则表达式不太确定。

我想附加此标记

<base href="url">

可能的正则表达式将此标记附加到$ output我得到了我的cURL请求。

以下是我正在使用的cURL请求的代码。

$ch = curl_init();

// set a single option...
// ... or an array of options
curl_setopt($ch, CURLOPT_URL, $url);

    // Set a referer

    // User agent
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2");

    // Include header in result? (0 = yes, 1 = no)
    curl_setopt($ch, CURLOPT_HEADER, 0);

    // Should cURL return or print out the data? (true = return, false = print)
 curl_setopt($ch, CURLOPT_REFERER, $url); 
    // Timeout in seconds
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);

    // Download the given URL, and return output
    $output = curl_exec($ch);
 $output = str_replace('</head>','<base href="'.$href.'"></head>',$output);
//$output= preg_replace("/<head>/", "<head><base href=".$href.">", $output); 

 echo $output;
curl_close($ch);

1 个答案:

答案 0 :(得分:0)

首先,请确保您的代码返回HTML的字符串(curl_exec

第二次,你不需要preg_replace ,,,试试这个:

$yourString = str_replace('</head>', '<base href="url"></head>', $yourString);