Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » 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
Закрытая тема





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

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