![]() |
0 Всего найдено: 9
PAYK
Сообщение
10/01/2011 16:36
Копия темы
Помогите решить ПРОБЛЕМУ В коде возникает ошибка: Warning: preg_replace() [function.preg-replace]: Compilation failed: unmatched parentheses at offset 13 in /home/users1/m/magictube/domains/magictube.ru/wp-content/plugins/uppod.php on line 36 А именно в 36 строчке: $content = preg_replace_callback("/[uppod ([^]]*)]/i", "Uppod", $content); ПОДСКАЖИТЕ В ЧЕМ ПРОБЛЕМА. Заранее спасибо) Полный код: <?php /* Plugin Name: Uppod Plugin URI: Author: Uppod Description: Медиаплеер Uppod Author URI: Version: 0.4 */ // НАСТРОЙКИ $uppod_settings['uppod.swf']=get_option('siteurl').'/wp-co ntent/uppod/uppod.swf'; $uppod_settings['swfobject.js']=get_option('siteurl').'/wp -content/uppod/swfobject/swfobject.js'; $uppod_settings['adobe_update']='Необходимо обновить <a href=" //ВИДЕО $uppod['video']['style']=get_option('siteurl').' /wp-content/uppod/styles/video00-0000.txt'; $uppod['video']['width']='500'; $uppod['video']['height']='375'; $uppod['video']['style2']=get_option('siteurl').' /wp-content/uppod/styles/video00-0001.txt'; $uppod['video']['width2']='500'; $uppod['video']['height2']='375'; //АУДИО $uppod['audio']['style']=''; $uppod['audio']['width']='300'; $uppod['audio']['height']='90'; //ФОТО $uppod['photo']['style']=''; $uppod['photo']['width']='400'; $uppod['photo']['height']='300'; function Uppod0($content) { $content = preg_replace_callback("/[uppod ([^]]*)]/i", "Uppod", $content); return $content; } function Uppod($matches) { global $uppod; global $uppod_settings; $out=''; $vars=''; preg_match_all('/(w*)="([^"]*)/i', $matches[1], $attributes); for($i=0;$i<count($attributes[1]);$i++){ $vars.='&'.$attributes[1][$i].'='.$attributes[2][$i]; } preg_match_all('/(w*)=([^"^ ]*) /i', $matches[1].' tmp=', $attributes2); for($j=0;$j<count($attributes2[1]);$j++){ $var_name=$attributes2[1][$j]; if($var_name=='video'|$var_name=='audio'|$var_name=='photo '){ $media=$var_name; $var_name='file'; } if($var_name=='videopl'|$var_name=='audiopl'|$var_name=='p hotopl'){ $media=substr($var_name,0,strlen($media)-2); $var_name='pl'; } $type=''; if($var_name=='type'){ $type=$attributes2[2][$j]; $var_name=''; } $var_name!=''?$vars.='&'.$var_name.'='.$attributes2[2 ][$j]:''; } $num=rand(0,1000); if(isset($media)){ $out.='<object id="uppod'.$media.'player'.$num.'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'.$uppod[$media]['width'.$type].'" height="'.$uppod[$media]['height'.$type].'"><pa ram name="movie" value="'.$uppod_settings['uppod.swf'].'" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="flashvars" value="uid=uppod'.$media.'player'.$num.'&'.($uppod[$m edia]['style'.$type]!=''?'st='.$uppod[$media]['s tyle'.$type]:'m='.$media).$vars.'" /><!--[if !IE]>--><object type="application/x-shockwave-flash" data="'.$uppod_settings['uppod.swf'].'" width="'.$uppod[$media]['width'.$type].'" height="'.$uppod[$media]['height'.$type].'" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" flashvars="uid=uppod'.$media.'player'.$num.'&'.($uppo d[$media]['style'.$type]!=''?'st='.$uppod[$media][' style'.$type]:'m='.$media).$vars.'"><!--<![end if]--><div>'.$uppod_settings['adobe_update'].'</div ><!--[if !IE]>--></object><!--<![endif]--></object><script type="text/javascript">swfobject.registerObject("uppod'.$med ia.'player'.$num.'", "10.0.0", "'.get_option('siteurl').'/wp-content/uppod/swfobject/expr essInstall.swf");</script>'; } return $out; } function Uppod_SWFObject() { global $uppod_settings; echo '<script src="'.$uppod_settings['swfobject.js'].'" type="text/javascript"></script>'; } add_action('wp_head', 'Uppod_SWFObject'); add_filter('the_content', 'Uppod0'); ?>
viper203
Сообщение
10/01/2011 16:45
Копия темы
Без понятия, многа букаф, а пиво вкусное Нужно знать, что регулярка должна делать
RiDDi
Сообщение
10/01/2011 17:23
Копия темы
Ну у вас не экранируются специальные символы. Интерпритатор их воспринимает в служебном смысле и ошибается :)
RiDDi
Сообщение
10/01/2011 17:26
Копия темы
сделайте вот так function Uppod0($content) { echo $content; exit; $content = preg_replace_callback("/[uppod ([^]]*)]/i", "Uppod", $content); return $content; } И скажите мне значение $content Я скажу как исправить. Просто регулярка может работать по разному, смотря как расставить экраны ))
PAYK
Сообщение
10/01/2011 19:19
Копия темы
0
регулярное выражение ищет в строке и выделяет или вырезает, это я незнаю строку начинающкюся на [uppod и заканчивающуюся на ] |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |