У меня есть этот код на моей странице, но ссылка имеет разные имена и идентификаторы:
<div class="myclass"> <a href="http://www.example.com/?vstid=00575000&veranstaltung=http://www.example.com/page.html"> Example Text</a> </div>
как я могу удалить и заменить его на это:
<div class="myclass">Sorry no link</div>
С PHP или Javascript? Я попробовал это с str.replace
Спасибо!
Я предполагаю, что вы имеете в виду динамически? Вы не сможете сделать это с помощью php, потому что это серверная сторона и не имеет никакого отношения к HTML, как только он будет выводиться на экран.
См. http://www.tizag.com/javascriptT/javascript-innerHTML.php для javascript.
Или вы можете использовать jquery, который лучше и лучше, чем пытаться использовать скрипт javascript, совместимый с браузером.
$('.myclass').html('Sorry...');
Если страница все еще находится на сервере, прежде чем вам понадобится сделать замену, сделайте следующее:
<?php if (allowed_to_see_link()) { ?> <div class="myclass"> <a href="http://www.example.com/? vstid=00575000&veranstaltung=http://www.example.com/page.html"> Example Text</a> </div> <?php } else { ?> non-link-text <php } ?>
а также записать именованные функции …
Вы можете уточнить, что вы делаете. Если это ваш файл, вы можете просто открыть его в редакторе и удалить части. Если вы хотите изменить HTML с помощью PHP, вы можете использовать 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();
Вышеприведенный код заменит любые прямые дочерние элементы <a>
элементов любых элементов <div>
которые имеют атрибут класса myclass с Textnode «Извините, нет ссылки».