.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}
#view-panel-fleman .x-view-over{
background: #efefef url(/extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
}
#view-panel-fleman .loading-indicator {
font-size:11px;
background-image:url('../../extjs/resources/images/default/grid/loading.gif');
background-repeat: no-repeat;
background-position: left;
padding-left:20px;
margin:10px;
}文件类似这样
想请高手写个正则,匹配取得所有URL里的文件路径,存放到数组里
例如上面的几条数据 我需要得到的结果是array(
.icon-auto-adjust-gbugrd => /resource/graphics/icons/adjust-chosen-column.png,
.icon-auto-adjust-all-gbugrd => /resource/graphics/icons/adjust-all-columns.png,
#view-panel-fleman .x-view-over => /extjs/resources/images/default/grid/row-over.gif,
#view-panel-fleman .loading-indicator => ../../extjs/resources/images/default/grid/loading.gif
);
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}
#view-panel-fleman .x-view-over{
background: #efefef url(/extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
}
#view-panel-fleman .loading-indicator {
font-size:11px;
background-image:url('../../extjs/resources/images/default/grid/loading.gif');
background-repeat: no-repeat;
background-position: left;
padding-left:20px;
margin:10px;
}文件类似这样
想请高手写个正则,匹配取得所有URL里的文件路径,存放到数组里
例如上面的几条数据 我需要得到的结果是array(
.icon-auto-adjust-gbugrd => /resource/graphics/icons/adjust-chosen-column.png,
.icon-auto-adjust-all-gbugrd => /resource/graphics/icons/adjust-all-columns.png,
#view-panel-fleman .x-view-over => /extjs/resources/images/default/grid/row-over.gif,
#view-panel-fleman .loading-indicator => ../../extjs/resources/images/default/grid/loading.gif
);
.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}
#view-panel-fleman .x-view-over{
background: #efefef url(/extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
}
#view-panel-fleman .loading-indicator {
font-size:11px;
background-image:url('../../extjs/resources/images/default/grid/loading.gif');
background-repeat: no-repeat;
background-position: left;
padding-left:20px;
margin:10px;
}
TEXT;
preg_match_all("#url\((.*?)\)#",$str,$arr);
preg_match_all("#[\.\#](.*?)\{#",$str,$arr1);
print_r($arr);
print_r($arr1);得到两个数组,自己在处理下就可以了
.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}
#view-panel-fleman .x-view-over{
background: #efefef url(/extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
}
#view-panel-fleman .loading-indicator {
font-size:11px;
background-image:url('../../extjs/resources/images/default/grid/loading.gif');
background-repeat: no-repeat;
background-position: left;
padding-left:20px;
margin:10px;
}
TEXT;
preg_match_all("#(url\((.*?)\))|([\.\#](.*?)\{)#",$str,$arr);
print_r($arr);或者这样
.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}.icon-auto-adjust-all1-gbugrd{
aligh:center
}
.icon-auto-adjust-all2-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}那么你这样得到的数据就是
array(
/resource/graphics/icons/adjust-chosen-column.png,
/resource/graphics/icons/adjust-all-columns.png,
/resource/graphics/icons/adjust-all-columns.png
);
array(
.icon-auto-adjust-gbugrd,
.icon-auto-adjust-all-gbugrd,
.icon-auto-adjust-all1-gbugrd,
.icon-auto-adjust-all2-gbugrd);这样的话 就不能配对了
preg_match_all('/([^{\n]+){.+url\((?:\'|")?([^\'"]+)(?:\'|")?\)/i', $str, $matches);
print_r(array_combine($matches[1], $matches[2]));
.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url('/resource/graphics/icons/adjust-all-columns.png') !important;
}
.icon-auto-adjust-all1-gbugrd{
aligh:center
}
.icon-auto-adjust-all2-gbugrd{
background-image:url("/resource/graphics/icons/adjust-all-columns.png") !important;
}
CSS;$str = str_replace(array("\r", "\n", '}'), array('', '', "}\n"), $str);
preg_match_all('/([^{\n]+){.+url\((?:\'|")?([^\'"]+)(?:\'|")?\)/i', $str, $matches);
print_r(array_combine($matches[1], $matches[2]));
?>执行结果
Array
(
[.icon-auto-adjust-gbugrd] => /resource/graphics/icons/adjust-chosen-column.png
[.icon-auto-adjust-all-gbugrd] => /resource/graphics/icons/adjust-all-columns.png
[.icon-auto-adjust-all2-gbugrd] => /resource/graphics/icons/adjust-all-columns.png
)
怎么不是你要的了?
你一开始那个确实不行,改成
preg_match_all('/([^{\n]+){.+url\((?:\'|")?([^\'"]+)(?:\'|")?\)/isU', $str, $matches);
.icon-auto-adjust-gbugrd{
background-image:url(/resource/graphics/icons/adjust-chosen-column.png) !important;
}
.icon-auto-adjust-all-gbugrd{
background-image:url(/resource/graphics/icons/adjust-all-columns.png) !important;
}
#view-panel-fleman .x-view-over{
background: #efefef url(/extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
}
#view-panel-fleman .loading-indicator {
font-size:11px;
background-image:url('../../extjs/resources/images/default/grid/loading.gif');
background-repeat: no-repeat;
background-position: left;
padding-left:20px;
margin:10px;
}
CSS;preg_match_all("/([.#][^{]+).+?url[(']+(.+?)[')]/s", $s, $r);
foreach($r[1] as $k=>$v)
$out[$v] = $r[2][$k];
print_r($out);
Array
(
[.icon-auto-adjust-gbugrd] => /resource/graphics/icons/adjust-chosen-column.png
[.icon-auto-adjust-all-gbugrd] => /resource/graphics/icons/adjust-all-columns.png
[#view-panel-fleman .x-view-over] => /extjs/resources/images/default/grid/row-over.gif
[#view-panel-fleman .loading-indicator ] => ../../extjs/resources/images/default/grid/loading.gif
)
我现在是这样的Array
(
[/* alarms */.icon-16-alarms ] => /resource/graphics/icons/application-alarms-16px.png
[.icon-16-alarms ] => /resource/graphics/icons/application-alarms-16px.png
[/* gbugrd */.icon-clear-group-gbugrd ] => /resource/graphics/icons/placeholder.png
[.x-grid3-summary-row ] => /resource/graphics/icons/placeholder.png
[.icon-summary-type-gbugrd ] => /resource/graphics/icons/placeholder.png
[/*! * Ext JS Library 3.2.0 * Copyright(c) 2006-2010 Ext JS, Inc. * [email protected] * http://www.extjs.com/license */.x-grid3-locked, .x-grid3-unlocked ] => /resource/graphics/icons/adjust-chosen-column.png
[.icon-auto-adjust-all-gbugrd] => /resource/graphics/icons/adjust-all-columns.png
[.icon-auto-adjust-header-gbugrd] => /resource/graphics/icons/adjust-by-heading.png
[.icon-auto-adjust-content-gbugrd] => /resource/graphics/icons/adjust-by-content.png
[/* hepsup */.icon-16-hepsup ] => /system/hepsup/img/hepsup_16.gif
[.icon-bug-16] => ../img/iconBug.gif
);能否再改一下正则 把/* hepsup */ 这样的注释给忽略掉啊
谢谢了
[.icon-summary-type-gbugrd ] => /resource/graphics/icons/placeholder.png
[.2.0
* Copyright(c) 2006-2010 Ext JS, Inc.
* [email protected]
* http://www.extjs.com/license
*/
.x-grid3-locked, .x-grid3-unlocked ] => /resource/graphics/icons/adjust-chosen-column.png
[.icon-auto-adjust-all-gbugrd] => /resource/graphics/icons/adjust-all-columns.png
[.icon-auto-adjust-header-gbugrd] => /resource/graphics/icons/adjust-by-heading.png
[.icon-auto-adjust-content-gbugrd] => /resource/graphics/icons/adjust-by-content.png
/* alarms */
.icon-16-alarms {
background-image:url(/resource/graphics/icons/application-alarms-16px.png) !important;
}
.icon-16-alarms {
background-image:url(/resource/graphics/icons/application-alarms-16px.png) !important;
}
.icon-48-alarms {
background-image:url(/resource/graphics/icons/application-alarms-48px.png) !important;
}
/*!
* Ext JS Library 3.2.0
* Copyright(c) 2006-2010 Ext JS, Inc.
* [email protected]
* http://www.extjs.com/license
*/
.x-grid3-locked, .x-grid3-unlocked {
overflow: hidden;
position: absolute;
}.x-grid3-locked .x-grid3-scroller {
overflow: hidden;
}.x-grid3-locked .x-grid3-row {
border-right: 0;
}这样的 帮忙考虑下 谢谢了
$s = <<< CSS
/* alarms */
.icon-16-alarms {
background-image:url(/resource/graphics/icons/application-alarms-16px.png) !important;
}
.icon-16-alarms {
background-image:url(/resource/graphics/icons/application-alarms-16px.png) !important;
}
.icon-48-alarms {
background-image:url(/resource/graphics/icons/application-alarms-48px.png) !important;
}
/*!
* Ext JS Library 3.2.0
* Copyright(c) 2006-2010 Ext JS, Inc.
* [email protected]
* http://www.extjs.com/license
*/
.x-grid3-locked, .x-grid3-unlocked {
overflow: hidden;
position: absolute;
}.x-grid3-locked .x-grid3-scroller {
overflow: hidden;
}.x-grid3-locked .x-grid3-row {
border-right: 0;
}
CSS;preg_match_all("/([.#][^{]+).+?url[(']+(.+?)[')]/s", $s, $r);
foreach($r[1] as $k=>$v)
$out[$v] = $r[2][$k];
print_r($out);Array
(
[.icon-16-alarms ] => /resource/graphics/icons/application-alarms-16px.png
[.icon-48-alarms ] => /resource/graphics/icons/application-alarms-48px.png
)
/***************************************************************************************/
/* grid icon Classes begin */
.grid-row-select-subana {
background-image:url(/resource/graphics/icons/star.png) !important;
}
.grid-row-deselect-subana {
background-image:url(/resource/graphics/icons/star-empty.png) !important;
}
.grid-row-show-subana {
background-image:url(/resource/graphics/icons/magnifier-arrow.png) !important;
}
.grid-row-noted-subana {
background-image:url(/resource/graphics/icons/sticky-note-pin.png) !important;
}
.grid-row-unnoted-subana {
background-image:url(/resource/graphics/icons/sticky-note-pin-mod.png) !important;
}
/* Icon Classes end */
/***********************************************************Subscriber Analytics End**********************************************//* supsld */
/*!
* Ext JS Library 3.0.3
* Copyright(c) 2006-2009 Ext JS, LLC
* [email protected]
* http://www.extjs.com/license
*/
#custom-slider {
width:214px;
padding-top:6px;
background-image:url(images/ticks.gif);
}
#custom-slider .x-slider-thumb {
background-image:url(images/slider-thumb.png);
}我这边就在这里出的问题
得到的结果是这样
[.grid-row-deselect-subana ] => /resource/graphics/icons/star-empty.png
[.grid-row-show-subana ] => /resource/graphics/icons/magnifier-arrow.png
[.grid-row-noted-subana ] => /resource/graphics/icons/sticky-note-pin.png
[.grid-row-unnoted-subana ] => /resource/graphics/icons/sticky-note-pin-mod.png
[.0.3
* Copyright(c) 2006-2009 Ext JS, LLC
* [email protected]
* http://www.extjs.com/license
*/
#custom-slider ] => images/ticks.gif
[#custom-slider .x-slider-thumb ] => images/slider-thumb.png
preg_match_all("/^([.#][^{]+).+?url[(']+(.+?)[')]/sm", $s, $r);
foreach($r[1] as $k=>$v)
$out[$v] = $r[2][$k];
print_r($out);Array
(
[.grid-row-select-subana ] => /resource/graphics/icons/star.png
[.grid-row-deselect-subana ] => /resource/graphics/icons/star-empty.png
[.grid-row-show-subana ] => /resource/graphics/icons/magnifier-arrow.png
[.grid-row-noted-subana ] => /resource/graphics/icons/sticky-note-pin.png
[.grid-row-unnoted-subana ] => /resource/graphics/icons/sticky-note-pin-mod.png
[#custom-slider ] => images/ticks.gif
[#custom-slider .x-slider-thumb ] => images/slider-thumb.png
)
$s = preg_replace('/\/\*.*\*\//sU','',$s);然后再应用上面的正则