HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

регулярное выражение
  #1  
Старый 28.02.2008, 16:04
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию регулярное выражение

PHP код:
$data preg_replace("/(\[color=)(#[a-zA-Z0-9{6}])(\])(.*)(\[\/color\])/i""<span style='color: \${2}'>\${4}</span>"$data); 
хочу распарсить [*color=#727FFF]test[/color]
в <span style='color: #727FFF'>test</span>
но ничего не получается


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

ЗЫ с удивлением обнаружил что буллетин парсит кастомный цвет
 
Ответить с цитированием

  #2  
Старый 28.02.2008, 16:10
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

$data = preg_replace("/\[color=#?([a-zA-Z0-9]+)\](.*)\[\/color\]/i", '<font color="$1">$2</font>', $data);

Последний раз редактировалось nc.STRIEM; 28.02.2008 в 16:25..
 
Ответить с цитированием

  #3  
Старый 28.02.2008, 16:22
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

спасибо, только мне ещё надо учесть что комбинация из символов a-zA-Z0-9 равна шести.

тег font deprecated
 
Ответить с цитированием

  #4  
Старый 28.02.2008, 16:27
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

это делаеться заменой + на {6} НО этого делать не надо ведь цвет можно указывать как ff0000 или red
 
Ответить с цитированием

  #5  
Старый 28.02.2008, 17:15
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

да, точно. я не подумал про словесные эквиваленты.
спасибо большое!
 
Ответить с цитированием

  #6  
Старый 28.02.2008, 17:22
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

да, кстати - [a-zA-Z0-9] надо поменять на [a-fA-F0-9]

ведь в шестнадцатеричной системе нет букв кроме abcdef
 
Ответить с цитированием

  #7  
Старый 28.02.2008, 17:48
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

Цитата:
Сообщение от Дикс  
да, кстати - [a-zA-Z0-9] надо поменять на [a-fA-F0-9]

ведь в шестнадцатеричной системе нет букв кроме abcdef
Red green blue white
 
Ответить с цитированием

  #8  
Старый 28.02.2008, 20:37
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

вот блин
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ