Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

preg_replace

Обсуждение темы preg_replace в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Как в preg_replace использовать pattern'ы? Там какие-то хитрые шаблоны типа этих: PHP код: $patterns  = array ( "/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/" , "/^\s*{(\w+)}\s*=/" ); $replace  = array ( "\\3/\\4/\\1\\2" ,  ...


Закрытая тема
 
Опции темы
Старый 30.05.2005, 13:27   #1
dim

Как в preg_replace использовать pattern'ы?
Там какие-то хитрые шаблоны типа этих:

PHP код:
$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/",
"/^\s*{(\w+)}\s*=/");
$replace = array ("\\3/\\4/\\1\\2""$\\1 =");
print 
preg_replace ($patterns$replace"{startDate} = 1999-5-27"); 
Мне нужно заменять bbcode (ну там [b] например), но обязательно через preg_replace, т.к. у него есть параметр limit.
Но он не хочет менять [b], т.к. видит в нём какой-то шаблон и не учитывает квадратные скобки
 
Старый 30.05.2005, 13:27
Ссылки
Старый 30.05.2005, 17:04   #2
dim, нтересно, а ты вообще интересовался тем, что такое регулярные выражения???

Видимо нет, так зачем тебе тада эта функция?

Символы []{}()\.?+*|^$ и может ещё какие-нить, которые я не помню, являются специальными символами в регулярных выражениях. И чтобы использовать их буквально, нужно ставить перед ними \
 
Старый 30.05.2005, 23:02   #3
dim

я ступил
нет, если честно регулярными выражениями не интересовался никогда

но мне всё уже популярно разъяснили
можете закрывать тему - сделал через str_replace
 
Старый 30.05.2005, 23:22   #4
PHP код:
// линкуем по признаку "www"
    
$text preg_replace ("/([\s>\]]+)www\.([a-zA-Z\.\?&=\;\-\/_]+)([\,\.\W\s<\[]+)/""\\1http://www.\\2\\3"$text);
// вставляем картинки
    
$text preg_replace ("/([\s>\]]+)http:\/\/([a-zA-Z0-9\/\.]+)\.([gifjpen]+)([\W\s<\[]+)/","\\1<img src=\"http://\\2.\\3\" border=\"0\" />\\4"$text);
// линкование с вложением
    
$text preg_replace ("/\[url=http:\/\/(.+)\]([a-zA-Zа-яА-Я0-9\s\W\#\;]+)\[\/url\]/""<a href=\"http://\\1\" target=\"_blank\">\\2</a>"$text);
// автолинкование
    
$text preg_replace ("/([\s>\]]+)(http|https|ftp|goper):\/\/([a-zA-Z0-9\.\?&=\;\-\/_]+)([\W\s<\[]+)/""\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>\\4"$text);
    
$text preg_replace ("/([\.\?\;\-]+)<\/a>/""</a>\\1"$text);
    
$text preg_replace ("/([\.\?\;\-]+)(\" target)/""\\2"$text);
// линкование почты с вложением
    
$text preg_replace ("/\[email=([a-zA-Z_]+@[a-zA-Z_\.\-]+)\](.+)\[\/email\]/""<a href=\"mailto:\\1\">\\2</a>"$text);
// линкование почты без вложения
    
$text preg_replace ("/\[email\]([a-zA-Z_]+@[a-zA-Z_\.\-]+)\[\/email\]/""<a href=\"mailto:\\1\">\\1</a>"$text);
// форматирование bold, italic, underline
    
$text preg_replace ("/\[([biu])\]/""<\\1>"$text);
    
$text preg_replace ("/\[\/([biu])\]/""</\\1>"$text); 
Alkeeper добавил [date]1117481126[/date]:
ёмаё половина "\" пропала
 
Старый 30.05.2005, 23:22
Закрытая тема





Текущее время: 04:49. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум