2010-08-24 59 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>子元素。