dis Posted September 16, 2008 Share Posted September 16, 2008 Hello there, I am using a preg_split to parse an XHTML document. I currently have: $parts = preg_split("~(<[^>]*>)~", $buffer, -1, PREG_SPLIT_DELIM_CAPTURE); This is working just fine, however... I don't want it to split elements inside a comment. Example: <link rel="stylesheet" type="text/css" href="css?assets/css/screen.css" media="screen" /> <!--[if IE]><link rel="stylesheet" type="text/css" href="css?assets/css/ie.css" media="screen" /><![endif]--> <link rel="stylesheet" type="text/css" href="css?assets/css/print.css" media="print" /> Currently it is returning: [0] => <link rel="stylesheet" type="text/css" href="css?assets/css/screen.css" media="screen" /> [1] => <!--[if IE]> [2] => <link rel="stylesheet" type="text/css" href="css?assets/css/ie.css" media="screen" /> [3] => <![endif]--> [4] => <link rel="stylesheet" type="text/css" href="css?assets/css/print.css" media="print" /> I want it, so it doesn't split any elements found inside the comments tags <!-- -->, so in turn it would return: [0] => <link rel="stylesheet" type="text/css" href="css?assets/css/screen.css" media="screen" /> [1] => <!--[if IE]><link rel="stylesheet" type="text/css" href="css?assets/css/ie.css" media="screen" /><![endif]--> [2] => <link rel="stylesheet" type="text/css" href="css?assets/css/print.css" media="print" /> Any help would be appreciated. Cheers, - dis. Link to comment https://forums.phpfreaks.com/topic/124418-preg_split-need-help/ Share on other sites More sharing options...
effigy Posted September 16, 2008 Share Posted September 16, 2008 Split on comments also: /(<!--.+?-->|<[^>]*>)/. Link to comment https://forums.phpfreaks.com/topic/124418-preg_split-need-help/#findComment-642860 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.