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. Quote Link to comment Share on other sites More sharing options...
effigy Posted September 16, 2008 Share Posted September 16, 2008 Split on comments also: /(<!--.+?-->|<[^>]*>)/. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.