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

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

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

 

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

вид форума:
Линейный форум Структурный форум

тема: preg_match
 
 автор: shadowmaster63   (30.11.2009 в 13:16)   письмо автору
 
 

Подскажите что такое ?
Скрипт простейший

<?php
$s 
file_get_contents("1.txt");
global 
$nummatch;    
    
     while(
preg_match("/\[spoiler\]\s*((\s|.)+?)\s*\[\/spoiler\]\s*/i",$s)) {
     
     
$s preg_replace("/\[spoiler\]\s*((\s|.)+?)\s*\[\/spoiler\]\s*/i",    
     
"<script language='javascript' type='text/javascript' src='js/show_hide.js'></script>  
     <div style='border: 1px solid #E0E0E0; padding: 3px'>    
     <div style='padding-bottom: 3px' class='clickable' onclick=\"javascript: show_hide('s
$nummatch')\" title='Показать/Скрыть спойлер'>    
     <img id='pics
$nummatch'src='pic/plus.gif' border='0' title='Показать/Скрыть спойлер' tooltip='Показать'> Скрытый текст    
     </div>    
     <div id='ss
$nummatch' style='DISPLAY: none; border: 1px dashed #E0E0E0; padding: 2px'>\\1</div>    
     </div>"
$s,1);      
     
$nummatch=$nummatch+1;    
     if(
$nummatch>100) break;    
     }
echo 
$s;
?>


Всё зависит от начинки файла 1.тхт вернее от него размера :( если небольшой то скрипт срабатывает и обрабатывает текст в файле если же большой просто кладет сервер... без ошибок :(
Что можно придумать ? Может это зависит от настроек пхп или апача ?

  Ответить  
 
 автор: shadowmaster63   (30.11.2009 в 13:56)   письмо автору
 
   для: shadowmaster63   (30.11.2009 в 13:16)
 

Проблема в регулярных выражениях :( на другой версии пхп все пахало :) не помню какая стояла :(

Зато если заменить на это
 while(preg_match("#\[spoiler\](.*?)\[/spoiler\]#si",$s)) {   
        $s = preg_replace("#\[spoiler\](.*?)\[/spoiler\]#si", 

всё пашет :)

  Ответить  
Rambler's Top100
вверх

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