簡體   English   中英

剝離<style> and <link> tags from value

[英]Stripping <style> and <link> tags from value

我正在嘗試清理從其他來源(主要是電子郵件正文)導入的一些HTML值。 理想情況下,我希望能夠剝離<style><link>標記,但也可以將它們的樣式(假設link標記指向樣式表)應用於值中的適當元素。

我目前正在嘗試通過整潔來實現這一目標。 如果涉及到這一點,我可以去除標簽而無需應用樣式。

您可以使用php的simple-xml函數將樣式分配給您的標記。

或者如果您不想進入simplexml庫,請編寫一些自定義實現來操作html(這不是一個好習慣tbh)。

$dirtyInput = '<!-- your html string -->';

$regex = '/<style[^>]>(.*?)</style>/is';
if (preg_match_all($regex, $dirtyInput, $inlineStyles)) {

    // your inline styles will be in $inlineStyles
    $cleanedOutput = preg_replace($regex . 'g', '', $dirtyInput );
}


$regex = '/<link[^>]*href="([^"]+)"*[^>]*>/is';
if (preg_match_all($regex, $dirtyInput, $externalFiles)) {

    // hrefs of external stylesheets $externalFiles;
    $cleanedOutput = preg_replace($regex . 'g', '', $cleanedOutput);
}

// more code to read styles from external css files and apply their styles and the inline styles to your markup (not a quick task...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM