Ответить
Не понял)))
1 2
Создаем ВВ коды
Отправлено: 22 Ноя 2010#11
хм. т.е. впихнуть в файл на показе реплайсы? спс. а как запилить, к примеру тег, что бы внутри него теги не заменялись?
Отправлено: 22 Ноя 2010#12
Как вариант вырезать такие теги с их содержимым заменяя на какойто код а в конце всех замен заменять этот код обратно на тег с его содержимым

Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 23 Ноя 2010#13
Цитата
Как вариант вырезать такие теги с их содержимым заменяя на какойто код а в конце всех замен заменять этот код обратно на тег с его содержимым [smile]
Не понял)))
Отправлено: 23 Ноя 2010#14
например есть такой текст
фывфывфыв[*b]asdasdasd[a]sdasd[/a]sdasdas[*/b]фывфывфыв
и ты не хочешь чтобы в теге b что то менялось. Тогда ты его вырезаешь и ставишь вместо него хешь
фывфывфыв{HASH_DH1FJDH74DJS84}фывфывфыв
Потом парсишь все что нужно и в конце опять заменяешь хешь на текст который был вырезан
фывфывфыв[*b]asdasdasd[a]sdasd[/a]sdasdas[*/b]фывфывфыв
фывфывфыв[*b]asdasdasd[a]sdasd[/a]sdasdas[*/b]фывфывфыв
и ты не хочешь чтобы в теге b что то менялось. Тогда ты его вырезаешь и ставишь вместо него хешь
фывфывфыв{HASH_DH1FJDH74DJS84}фывфывфыв
Потом парсишь все что нужно и в конце опять заменяешь хешь на текст который был вырезан
фывфывфыв[*b]asdasdasd[a]sdasd[/a]sdasdas[*/b]фывфывфыв
Отредактировано автором 23 Ноя 2010
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 24 Ноя 2010#16
а что тут не ясного. Внутри временно вырезаного блока ничего не может замениться, ведь когда ты производишь замену он вырезан))) и заменен на какой то код, который потом ты точно сможешь узнать, что бы поставить этот фрагмент обратно
Добавлено 2010.11.30 14-38
Допустим есть строка я страшная строка с [*code]страшным [*b] текстом[*/b] и страшными[*/code] бб кодами
Теперь у нас есть массив с ключами и еще один массив со строками соответствующими этим ключам. Ну и конечно у нас есть сама строка(основная) с которой можно делать че угодно не опасаясь повредить то что в тегах CODE ведь они вырезаны. Делаем со строкой че угодно..
А потом ставим на место наши строки которые были обрамлены в CODE
Таким образом сам тег CODE заменился а вписаные в него теги нет.

Добавлено 2010.11.30 14-38
Допустим есть строка я страшная строка с [*code]страшным [*b] текстом[*/b] и страшными[*/code] бб кодами
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php //находим все совпадения с нужным тегом
preg_match_all('#\[code\](.*)\[\/code\]#smi', $str, $match));
$count = count($match[1]);
$codeBox = array();
$codeUni = array();
//проходим по всем совпадениям. переменная $match содержит массив совпадений
for ($i = 0; $i < $count; $i++){
//заменяем тег code на то что нужно, например див
$codeBox[$i] = '<div>' . htmlspecialchars($match[1][$i]) . '</div>';
//создаем уникальный ключ для данного совпадения
$codeUni[$i] = 'code_' . md5(rand() . rand());
//заменяем совпадение ключом
$str = str_replace($match[0][$i], $codeUni[$i], $str);
}?>
Теперь у нас есть массив с ключами и еще один массив со строками соответствующими этим ключам. Ну и конечно у нас есть сама строка(основная) с которой можно делать че угодно не опасаясь повредить то что в тегах CODE ведь они вырезаны. Делаем со строкой че угодно..
1
2
<?php $str = ......
$str = ......?>
А потом ставим на место наши строки которые были обрамлены в CODE
1
2
3
<?php //str_replace может принимать в первых 2х параметрах и массивы а так как у нас коды и
//строки в этих массивах соответствуют то мы воспользуемся этим не опасаясь путаницы
$str = str_replace($codeUni, $codeBox, $str);?>
Таким образом сам тег CODE заменился а вписаные в него теги нет.
Отредактировано автором 30 Ноя 2010
Я горжусь тем, что создал . И люблю нашу команду)
1 2
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 5. Зарегистрированных: 0. Гостей: 5.

