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

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

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

 

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

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

тема: Как подсветить заглавные буквы и знаки пунктуации?
 
 автор: Владимир55   (01.03.2011 в 16:38)   письмо автору
 
 

В переменной $m_kniga текст, свободный от тегов. Он выводится в браузер echo $m_kniga для визуального контроля. С целью упрощения этой операции было бы целесообразно все заглавные буквы кириллицы, а также цифры и круглые скобки жирно выделить красным, а точки и двоеточия жирно выделить синим.

Как бы это попроще осуществить?

  Ответить  
 
 автор: cheops   (01.03.2011 в 16:52)   письмо автору
 
   для: Владимир55   (01.03.2011 в 16:38)
 

Можно поступить следующим образом
<?php
  $str 
'В переменной $m_kniga текст, свободный от тегов. 
  Он выводится в браузер echo $m_kniga для визуального контроля. 
  С целью упрощения этой операции было бы целесообразно все 
  заглавные буквы кириллицы, а также цифры и круглые скобки 
  жирно выделить красным, а точки и двоеточия жирно выделить синим.

  Как бы это попроще осуществить?'
;

  
$str preg_replace("|[\.:]+|s""<span style='color:blue;'>\\0</span>"$str); 
  
$str preg_replace("|[А-ЯЁ0-9\(\)]+|s""<span style='color:red;'>\\0</span>"$str); 

  echo 
$str;
?>

  Ответить  
 
 автор: Владимир55   (01.03.2011 в 17:12)   письмо автору
 
   для: cheops   (01.03.2011 в 16:52)
 

Похоже, что я упустил некое существенное условие: информация не просто выводится в браузер, а используется для предзаполнения формы. Вот так:

<?php
    $str 
$m_kniga;
    
$str preg_replace("|[\.:]+|s""<span style='color:blue;'>\\0</span>"$str);
    
$str preg_replace("|[А-ЯЁ0-9\(\)]+|s""<span style='color:red;'>\\0</span>"$str);

    echo
    
'<form method="POST" action="hidden-5.php">
    <textarea rows="25" cols="90" name="text_ispr" >' 
$str '</textarea>
    <input type="submit" value="Исправить">
    </form>'
;


И в этой конструкции выводится сам код подсветки, а не результаты его работы.

Есть ли решение для этого случая?

  Ответить  
 
 автор: cheops   (01.03.2011 в 17:16)   письмо автору
 
   для: Владимир55   (01.03.2011 в 17:12)
 

А в textarea этого и невозможно добиться - в этом элементе текст выводится как есть. Визуальные редакторы, которые позволяют форматировать текст прямо в области редактирования устроены значительно сложнее (по сути это JavaScript-комплекс) и они не основаны на textarea.

  Ответить  
 
 автор: Владимир55   (01.03.2011 в 17:26)   письмо автору
 
   для: cheops   (01.03.2011 в 17:16)
 

Понятно. Большое спасибо!

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

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