我正在尝试为断开的链接实施“查找和替换”系统。问题是,对于某些链接,没有替代品。所以,我需要注释掉某些 li 元素。你可以在下面看到我的代码来做到这一点。(我从 HTML 表单开始)。
<?php
$brokenlink = $_POST['brokenlink'];
$newlink = $_POST['newlink'];
$brokenlink = '"' . $brokenlink . '"';
$newlink = '"' . $newlink . '"';
$di = new RecursiveDirectoryIterator('hugedirectory');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
// echo $filename . ' - ' . $file->getSize() . ' bytes <br/>';
$filetoedit = file_get_contents($file);
if(strpos($filetoedit, $brokenlink)) {
echo $brokenlink . "found in " . $filename . "<br/>";
$filetoedit = str_replace($brokenlink, $newlink, $filetoedit);
file_put_contents($filename, $filetoedit);
}
}
?>
我想要完成的是:如果我有一个 URL,我希望能够找到它的 li 父级。例如,如果用户以 HTML 形式输入http://www.espn.com,我希望 PHP 能够注释掉下面的代码,我希望 php 在我的服务器上找到这个元素:
<li><a href="http://www.espn.com" target="_blank" data-new="20120627">Sports</a></li>
并将其替换为:
<!-- <li><a href="http://www.espn.com" target="_blank" data-new="20120627">Sports</a></li> -->
这可能吗?谢谢。