Reply to Re: regexps: dollar sign, lookaheads/behinds and speedquestions

Your name:

Reply:


Posted by petersprc on 02/25/07 22:57

You can use single quotes to escape the dollar:

'/\{\$(.+?)\}/'

For the other case, you could do an or with a pipe:

'/\'.*?\'|".*?"/'

On Feb 25, 2:25 pm, "Yorian" <yorianbenja...@hotmail.com> wrote:
> I just started to try regexps in php and I didn't have too many
> problems, however I found a few when trying to build a templte engine.
>
> The first one is found is the dollar sign. In my template I would like
> to write this:
>
> {$var} where var ofcourse will be replaced by the real var however I'm
> having trouble with the dollar sign I do escape the it though, my
> regexp:
>
> preg_replace("/\{\$(.+?)\}/", 'var', $string);
>
> However this didn't work, even if I try to just replace the dollar
> sign (by a b) it doesn't work properly:
>
> preg_replace("/\$/", "b", $string);
>
> Another question is about lookaheads/behinds, in my template I would
> like to use this:
>
> {include file="file.tpl"} for example, so I created this regexp:
> preg_replace("/\{include file=(?:\"|\')*(.+?)(?:\"|\')*\}/i",
> 'replacement', $string);
>
> Works fine but now people don't have to use the same opening and
> ending character, how do I do that?
>
> Last questions for now, I know regexps are not very fast and this does
> give a bit of a problem.
>
> So my questions:
> - Are there things in regexps te be avoided since it takes ages?
> - Are there ways to speed up regexps?

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация