|
Posted by Jasen Betts on 02/18/06 02:17
On 2006-02-17, Piratron <piratron05@gmail.com> wrote:
> Jasen Betts wrote:
>> On 2006-02-16, Piratron <piratron05@gmail.com> wrote:
>>> MaKroZ wrote:
>>>> On Mon, 13 Feb 2006 19:09:33 +0100, Piratron wrote:
>>>>
>>
>>> <tr><td>
>>> <!--ec1-->text1<!--ec2-->
>>> </td></tr>
>>> <tr><td>
>>> <!--ec1-->text2<!--ec2-->
>>> </td></tr>
>>> <tr><td>
>>> <!--ec1-->text3<!--ec2-->
>>> </td></tr>
>>> <tr><td>
>>> <!--ec1-->text4<!--ec2-->
>>> </td></tr>
>>> ---------------------
>>>
>>> the problem is that
>>> ereg_replace("(<!--ec1-->).*(<!--ec2-->)","\\1$repl\\2", $string);
>>> will replace text from first "<!--ec1-->" occurrence (line 2 in example)
>>> and last occurrence (line 12 in example).
>>
>> you need a non-greedy match.
>
> ehmm, and how to make it a non-greedy?
hmm, you have to use perl compatible regex for that. put a U "flag" at
the end of the regex string.
preg_replace("/(<!--ec1-->).*(<!--ec2-->)/U","\\1$repl\\2", $string);
--
Bye.
Jasen
[Back to original message]
|