0

重複の可能性:
PHP で HTML を解析および処理する方法は?

正規表現形式からスキャンされたすべてのリンクを含む配列があります。しかし、www.apple.com の正規表現では、 http://www.apple.com/macbookair/ではなく、 /macbookair/ や /osx/ などのリンクしかありません。値の前に「 http://www.apple.com/ 」のようなデフォルト値を設定する方法はありますか? そうすれば、リンクが機能します。私の正規表現は

 /<a(?:[^>]*)href=\"([^\"]*)\"(?:[^>]*)>(?:[^<]*)<\/a>/is

上記の正規表現を修正する価値はありますか? または、配列のデフォルト値を設定する方法はありますか? 私が提案した方法の1つを使用するだけなので、「html dom」などを使用することについては言及しないでください。

4

1 に答える 1

0
<?php

$default_value = 'http://www.apple.com'; // without slash

foreach( $results as &$link )
{
    if( $link[0] == '/' )
    {
        $link = $default_value. $link;
    }
}
于 2012-09-08T14:01:37.677 に答える