Re: Re: Bug #1683 Updated: Failing to parse/compile a *? pattern.

From: Date: Fri, 09 Jul 1999 14:28:19 +0000
Subject: Re: Re: Bug #1683 Updated: Failing to parse/compile a *? pattern.
References: 1 2 3 4 5  Groups: php.dev 
Request: Send a blank email to php-dev+get-8252@lists.php.net to get a copy of this message
Yay! It doesn't give me an error now. Although the non-greedy change doesn't fix the bug I was trying to fix. I'll keep working on my regexp syntax. Thanks, -Jonathan *********** REPLY SEPARATOR *********** On 7/9/99 at 9:16 AM Andrey Zmievski wrote: >Jonathan Roy wrote: >> where the 2nd * being greedy means two links on the same line are treated >> like a single long link. I want the second * to be non-greedy. So in theory >> I just do this: >> >> $body=preg_replace("/&lt;([^:]*:\/\/[^ >\n\t]*?)&gt;/i", "<a >> href=\"\\1\">\\1</a>", $body); >> >> [snipped] >> >> creates no error message. If you want to reproduce this, and happen to >> have phorum yourself, put my small preg_replace command in around line 183 >> or so of post.php3, after the closing } and before the two egrei_replace >> commands. This is with Apache 1.3.6, php 3.0.11, on a linux redhat 5 >> machine. > >I don't have Phorum installed so I can't test it in that environment, but it >should give you the same error if it's in a standalone script. If you can >reproduce this in a simple script I will definitely take a closer look at it. >For now, try using different delimiters so that you don't have to escape the >forward slash, i.e. do: > >$body=preg_replace("#&lt;([^:]*://[^ >\n\t]*?)&gt;#i", "<a > href=\"\\1\">\\1</a>", $body); > >or something similar. > >-Andrey >"Later in this talk, I intend to define > the universe and give three examples." -- Larry Wall --- Jonathan Roy - roy@idle.com - Idle Communications, Inc.

« previous php.dev (#8252) next »