Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите с подсветкой текста
Форумы портала PHP.SU » PHP » Регулярные выражения » Помогите с подсветкой текста

Страниц (1): [1]
 

1. Монах - 24 Мая, 2010 - 09:09:09 - перейти к сообщению
Есть файл допустим 123.txt в нем записан текст в строку, надо чтобы текст, находящийся между [code][/code] подсвечивался функцией highlight_string
Не могу разобраться с функцией preg_*** нет нормальных понятных примеров
Помогите
2. alexspb - 24 Мая, 2010 - 09:43:01 - перейти к сообщению
примерно так
3. awiz - 24 Мая, 2010 - 14:33:28 - перейти к сообщению
function yourFunc($text){
return highlight_string($text);

}
preg_replace_callback('/
/miU', yourFunc, $text);
4. JustUserR - 24 Мая, 2010 - 15:53:12 - перейти к сообщению
awiz пишет:
preg_replace_callback('/.*/miU', yourFunc, $text);
Только нужно использовать нежадную версию кватнификатора типа .*? - поскольку инача подсветится весь код от первого [ code ] до самого последнего [ /code ] не учитываея промежуточные закрывания
5. Монах - 25 Мая, 2010 - 08:46:16 - перейти к сообщению
Спасибо всем за помощь!
6. JustUserR - 25 Мая, 2010 - 12:05:09 - перейти к сообщению
awiz И кстатим судя по тому что форум подставил значение .* в блок кода то очевидно что у вас было прописано [ code ] и [ /code ] (Без пробелов конечно) - но в регулярном выражении это трактуется как группы символов и поэтому квадратные скобки нужно также проэкранировать

 

Powered by ExBB FM 1.0 RC1