Ich habe versucht, den PHP DOM-Ansatz und auch die SimpleHTMLDOM-Parserbibliothek zu verwenden, bisher hat bei mir nichts funktioniert (das Problem ist, dass der DOM-Ansatz nur Links zurückgibt innerhalb des -Elements, aber nicht im -Abschnitt der Seite), also habe ich mich für die Verwendung von Regex entschieden.
Hier ist der nicht funktionierende PHP DOM-Ansatzcode:
Code: Select all
function remove_css_links($string = "", $css_files = array()) {
$css_files = array("http://www.example.com/css/css.css?ver=2.70","style.css?ver=3.8.1");
$xml = new DOMDocument();
$xml->loadHTML($string);
$link_list = $xml->getElementsByTagName('link');
$link_list_length = $link_list->length;
//The cycle
for ($i = 0; $i < $link_list_length; $i++) {
$attributes = $link_list->item($i)->attributes;
$href = $attributes->getNamedItem('href');
if (in_array($href->value, $css_files))  {
//Remove the HTML node
}
}
$string = $xml->saveHTML();
return $string;
}
Code: Select all
$html_text = '
...some content...
';
$url = preg_quote("http://www.example.com/css/css.css?ver=2.70");
$pattern = "~]+) href=".$url."/?>~";
$link = preg_replace($pattern, "", $html_text);
Ich bin jedoch offen für Vorschläge und wenn es möglich ist, den DOM-Ansatz zum Laufen zu bringen, anstatt Regex zu verwenden – das ist in Ordnung.
 Mobile version
 Mobile version