| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Помогите с заменой текста |
| Автор: romanыч 8.12.2008, 11:17 | ||||
| Добрые люди, нужна ваша помощь. в тексте $story нужно заменить все вхождения
где id - это $row['id'] (берется из бд) Эдесь я думаю ничего сложного нет. Я просто c php никогда дела не имел. Если не тяжело, помогите плз. |
| Автор: Валерия 8.12.2008, 18:25 |
| echo preg_replace("#\[attachment=(.*?)=(.*?)\]#i", "$link1 + \\2 + $link2", "[attachment=1=test] [attachment=2=asdf]"); |
| Автор: romanыч 8.12.2008, 19:24 | ||
| Забыл, а как "$row['id']" то вставить в рег выражение вместо "(.*?)" Добавлено через 13 минут и 23 секунды Сделал так:
Вроде работает, но хотел бы узнать, правильно ли это? ни каких косяков там не будет? |
| Автор: Валерия 8.12.2008, 19:56 |
| Правильно) |
| Автор: teroni 9.12.2008, 00:11 |
| Лучше вставлять с помощью preg_quote($row['id']) . Тогда точно не будет проблем. А в Вашем варианте проблемы могут возникнуть в том случае, если в $row['id'] есть спецсимволы регулярок (. \ + * ? [ ^ ] $ ( ) { } = ! < > | : ) |