2012-04-03 6 views
1

を「飛ぶ」でこれらを変更する私は、HTML文字列内のすべてのhrefのリンクを取得し、次のようにすべてのリンクを変換したい:SimpleHTMLDomライブラリを使用して、すべてのhrefのリンクをゲット&

<a href='www.google.com'>Google</a> 

このように変更すると...

<a href='www.mysite.com/link.php?URL=www.google.com'>Google</a> 

どのように私はこれを行うには?

<?php 

require_once( 'simple_html_dom.php'); ?>

+1

のようなものを試してみましたが、私は非常に完全にダンピングsimple_html_domをお勧めします。実際にPHPのセグメンテーションを管理し、メモリの5倍を消費し、PHPのDOMの組み込みの1/5の速度で動作します。 (実際の世界の時間であってベンチマークではない:P) – cHao

答えて

5

// load the class 
$html = new simple_html_dom(); 

// load the entire string containing everything user entered here 

$string = "<html><body><base href='http://www.site.biz/clients/g/'><a href='www.google.co.uk'>Google</a><a href='http://www.yahoo.co.uk'>Yahoo</a></body></html>"; 
$return = $html->load($string); 

$links = $html->find('a'); 

foreach ($links as $link) 
{ 
    var_dump($link); 
} 

はあなたが参考のため

$links = $html->find('a'); 

foreach ($links as $link) 
{ 
    if(isset($link->href)) 
    { 
     $link->href = 'www.mysite.com/link.php?URL=' . $link->href; 
    } 
} 

$newHTML = $html->save(); 

// $newHTML now contains the modified HTML 
関連する問題