Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выбрать подстроку между определёнными символами

Сообщения:  [1-10]   [11-12] 

 
 автор: hell_riser   (28.06.2006 в 19:07)   письмо автору
 
   для: cheops   (28.06.2006 в 15:03)
 

-

   
 
 автор: hell_riser   (28.06.2006 в 19:07)   письмо автору
 
   для: cheops   (28.06.2006 в 15:03)
 

Спасибо я уже нашёл этот код, теперь разбираю(перевожу на человеческий язык ) дабы понять алгоритм обработки и в будущем не тормозить

P.S. на данном этапе мне не важны результаты, я хочу понять язык(на примерах быстее разберёшся чем в теории) и только после этого примусь за реальный проект.

   
 
 автор: cheops   (28.06.2006 в 15:03)   письмо автору
 
   для: hell_riser   (28.06.2006 в 01:38)
 

Обработка таких тэгов может производится при помощи кода
<?php
    
// Обрабатываем теги <code>, </code>
    
$text "[code]";
    
$lastocc 0;
    
$sndocc 1;
    
$result "";
    while(
$sndocc)
    {
      
$fstocc strpos($postbody,"<code>",$lastocc);
      
$sndocc strpos($postbody,"</code>",$fstocc);
      if((
$fstocc>&& $sndocc>&& $lastocc>0) || ($fstocc >= && $sndocc>&& $lastocc == 0))
      {
        
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,$fstocc $lastocc)));
        
$result .= "<table border=0 ><tr><td class=codeblock>".highlight_string(substr($postbody,$fstocc 6,$sndocc $fstocc 6),true)."</td></tr></table>";
        
$lastocc $sndocc 7;
      }
      else
      {
        
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,strlen($postbody)-$lastocc)));
        break;
      }
    }
    
$postbody $result;
?>

   
 
 автор: hell_riser   (28.06.2006 в 09:27)   письмо автору
 
   для: valenok   (28.06.2006 в 09:16)
 

Спасибо, скачал бесплатную версию этого форума, пороюсь ещё и там

   
 
 автор: valenok   (28.06.2006 в 09:16)   письмо автору
 
   для: hell_riser   (28.06.2006 в 01:38)
 

не знаю..)

[поправлено модератором]

   
 
 автор: hell_riser   (28.06.2006 в 01:38)   письмо автору
 
   для: valenok   (28.06.2006 в 01:01)
 

>str_replace ?
Ну уж простите первый реплес, что в голову пришёл тот и прописал.
А вообще-то важен результат т.е. выборка и формат.
Подскажите хоть как на этом форуме это происходит в плане ф-ция подсветки синтаксиса.
Ведь принцип тот же, сдесь выбирается текст между тегами <code> и </code> с последующей обработкой highlight_string, ежели я правильно понял.

   
 
 автор: valenok   (28.06.2006 в 01:01)   письмо автору
 
   для: hell_riser   (27.06.2006 в 13:53)
 

str_replace ?

   
 
 автор: hell_riser   (27.06.2006 в 13:53)   письмо автору
 
   для: cheops   (27.06.2006 в 01:40)
 

Их набор ограничен(спец символы типа$,%,^,@ и т.д) и обязательно такого формата <символ>.

Что-то я в синтаксисе ни черта не разберусь, ваш пример на сколько я понял говорит о том, что выражению соответствуют как теги так и все символы заключенные в эти теги, мне теги не нужны они являются лишь признаком того, что этот текст надо отформатировать т.е на сколько я понимаю надо поставить символ отрицания для них а вот где, я читал что если поставить класс так (^\W_), то это говорит о том , что классу соответствуют все символы кроме знака подчёркивания, а как сделать в этом случае.
А вообще-то можно ли после того как выбрали элементы массива по рег.выражнию записать так: $arr = "<table align='center' color='red' background='../templates/img/some.gif'><tr><td>$out</td></tr></table>";
А потом просто заменить в строке оригинала прег реплейсом?

P.S. в начале эти символы обрабатываются addslashes

   
 
 автор: cheops   (27.06.2006 в 01:40)   письмо автору
 
   для: hell_riser   (26.06.2006 в 22:22)
 

Хм... т.е. они зарнее не определены? Или их набор ограничен?

   
 
 автор: hell_riser   (26.06.2006 в 22:22)   письмо автору
 
   для: cheops   (26.06.2006 в 20:00)
 

По сути это могут быть даже не теги, а просто определённые символы и мне необходимо текст заключённый в эти символы отформатировать иначе чем остальной текст.

Т.е. осталось внести в массив текст не соответствующий рег.выражению и вывести весь тект заново отформатированый

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования