2010-08-24 62 views
1

我有我的網頁上的代碼,但鏈接有不同的名稱和ID:PHP或Javascript:簡單地刪除和替換HTML代碼

<div class="myclass"> 
    <a href="http://www.example.com/?vstid=00575000&amp;veranstaltung=http://www.example.com/page.html"> 
Example Text</a> 
    </div> 

我怎樣可以刪除,並將其替換爲這個:

<div class="myclass">Sorry no link</div> 

使用PHP還是Javascript?我試過用str.replace

謝謝!

+0

何時以及何時生成此html? – 2010-08-24 10:48:34

回答

4

我假設你是動態的嗎?你不能用php來做這件事,因爲它是服務器端,而且一旦它被輸出到屏幕上,它與HTML沒有任何關係。

請參閱:http://www.tizag.com/javascriptT/javascript-innerHTML.php爲javascript。

或者你可以使用jquery,它只是比嘗試做一個跨瀏覽器兼容的JavaScript腳本更好,更好。

$('.myclass').html('Sorry...');

1

如果頁面仍然在服務器上,你需要做更換之前,這樣做:

<?php if (allowed_to_see_link()) { ?> 
<div class="myclass"> 
<a href="http://www.example.com/? vstid=00575000&amp;veranstaltung=http://www.example.com/page.html"> 
Example Text</a> 
</div> 
<?php } else { ?> 
non-link-text 
<php } ?> 

,並編寫命名函數...

0

你可能想要清理你所要做的。如果這是你的文件,那麼你可以簡單地在編輯器中打開並刪除這些部分。如果要修改與PHP HTML,您可以使用native DOM

$dom = new DOMDocument; 
$dom->loadHTML($htmlString); 
$xPath = new DOMXPath($dom); 
foreach($xPath->query('//div[@class="myclass"]/a') as $link) { 
    $link->parentNode->replaceChild(new DOMText('Sorry no link'), $link); 
} 
echo $dom->saveHTML(); 

上面的代碼將取代擁有的MyClass與Textnode「對不起沒有聯繫」一類屬性的任何<div>要素的任何直接<a>子元素。