我想更改網站中的所有href。php preg_match add href .html
<a href="sitename">xyz …</a>
到:
<a href="sitename.html>xyz …</a>
感謝您的幫助!
我想更改網站中的所有href。php preg_match add href .html
<a href="sitename">xyz …</a>
到:
<a href="sitename.html>xyz …</a>
感謝您的幫助!
$content = file_get_contents('page.html');
$new_content = str_replace('<a href="', '<a href="sitename.html', $content);
echo $new_content;
所有的尾隨內容仍然會在'href's中。此外,這假設所有的'href's被雙引號封裝。最好使用解析器。 – chris85
謝謝。但是,這不是解決方案。 'sitename'是可變的。 – Harold
您可以輕鬆地將sitename添加爲變量$ sitename。「。html」 – clearshot66
你可以做到這一點通過以下方式...
$hrefs = '<a href="sitename1">xyz …</a>
<a href="sitename2">xyz …</a>';
$r = '/(?<=href=").*?(?=">)/';
$sitename = 'sitename.html';
$result = preg_replace($r, $sitename, $hrefs);
echo $result;
使用的解析器。不要使用正則表達式(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags#answer-1732454)。正如你在你自己的問題中看到的那樣,在缺少結束語的情況下,你不知道你會在HTML中找到什麼。 – LSerni