[pLog-svn] r3433 - plog/trunk/class/view/admin

Jon Daley plogworld at jon.limedaley.com
Thu May 18 19:10:48 GMT 2006


PHP4 (cli)  says:

===Original String====
&  " é &#abcd; ê &
===Process String====
&  " é &#abcd; ê &
===Expected String====
&  " é &#abcd; ê &


On Fri, 19 May 2006, Mark Wu wrote:

> Hi Jon:
>
> Okay, now I believe we can use "regexp" to solve the world hunger and world
> peace  ...
>
> It takes 3 hourse to play the regexp ... And now we have a one line version
> ...
>
> ==== Code start ===
> <?php
>
> $search=
> "/(&){1}(quot;|amp;|lt;|gt;|nbsp;|iexcl;|cent;|cent;|pound;|copy;|#(\d+);)?/
> ie";
>
> $document = "&amp;amp;  &quot; &#233; &#abcd; &#234; &";
> $result = "&amp;amp;  &quot; &#233; &amp;#abcd; &#234; &amp;";
>
> $text = preg_replace($search, "'&' . ('$2' ? '$2' : 'amp;')" , $document);
>
> echo "\n===Original String====\n";
> echo $document;
> echo "\n===Process String====\n";
> echo $text;
> echo "\n===Expected String====\n";
> echo $result;
>
> ?>
>
> ==== Code end===
>
> Are you still using php4, can you test it in your envrionment?
>
> Mark
>
>> -----Original Message-----
>> From: plog-svn-bounces at devel.lifetype.net
>> [mailto:plog-svn-bounces at devel.lifetype.net] On Behalf Of Jon Daley
>> Sent: Thursday, May 18, 2006 7:41 PM
>> To: plog-svn at devel.lifetype.net
>> Subject: RE: [pLog-svn] r3433 - plog/trunk/class/view/admin
>>
>>  	Heresy! You can do anything with a single regexp -
>> solve world hunger, etc.  :)
>>
>>  	So the problem with &aaaaaa; is that it is an invalid
>> html escape sequence, and so should be ignored?  I guess you
>> would need a list of the valid escape sequences and just do those.
>>
>>  	Your example from php.net looks good.  If you don't
>> want to do this right now, you should probably add it to
>> bugs.lifetype, so we don't forget.
>>
>> On Thu, 18 May 2006, Mark Wu wrote:
>>> Hi Jon:
>>>
>>> I tried the following regexpt before I commit the changes.
>>>
>>> "&[a-z0-9]+;"
>>>
>>> But it fail in some situation, it won't convert "&aaaaaaa;" to
>>> "&amp;aaaaaaa;" ..... Actually, I want it to be convert to
>> the new string.
>>>
>>> The most important thing is, I can not reproduce any
>> soosa's error in
>>> my locale  machine (both linux/window, firefox/ie), that why I just
>>> only do this part ... :(
>>>
>>> If we want to convert all escape html, then... I think we need to
>>> write a function here, instead of a single regexp.. It is
>> too hard to
>>> take care all situation in one regexp.
>>>
>>> Mark
>>>
>>>
>>>> -----Original Message-----
>>>> From: plog-svn-bounces at devel.lifetype.net
>>>> [mailto:plog-svn-bounces at devel.lifetype.net] On Behalf Of Jon Daley
>>>> Sent: Thursday, May 18, 2006 7:27 PM
>>>> To: plog-svn at devel.lifetype.net
>>>> Subject: Re: [pLog-svn] r3433 - plog/trunk/class/view/admin
>>>>
>>>>  	This looks really bizarre?  You are trying to replace &
>> with &amp;
>>>> only if it isn't already &amp;?  There must be a better way to do
>>>> that.
>>>>
>>>> Also, perhaps you really want to replace a & if it isn't
>> followed by
>>>> "[a-z0-9]+;" to cover all cases of escaped html?
>>>>
>>>>
>>>> On Thu, 18 May 2006, mark at devel.lifetype.net wrote:
>>>>> Author: mark
>>>>> Date: 2006-05-18 10:46:03 +0000 (Thu, 18 May 2006) New Revision:
>>>>> 3433
>>>>>
>>>>> Modified:
>>>>>   plog/trunk/class/view/admin/admineditpostview.class.php
>>>>> Log:
>>>>> Fixed the bug here: http://bugs.lifetype.net/view.php?id=896
>>>>>
>>>>> Modified: plog/trunk/class/view/admin/admineditpostview.class.php
>>>>>
>> ===================================================================
>>>>> --- plog/trunk/class/view/admin/admineditpostview.class.php
>>>> 2006-05-18 10:41:43 UTC (rev 3432)
>>>>> +++ plog/trunk/class/view/admin/admineditpostview.class.php
>>>> 2006-05-18 10:46:03 UTC (rev 3433)
>>>>> @@ -50,8 +50,8 @@
>>>>>
>>>>> 	            // set information about the post itself
>>>> into the view
>>>>> 	            $this->setValue( "postTopic",
>>>> $this->_article->getTopic());
>>>>> -	            $this->setValue( "postText",
>>>> preg_replace('/&/', '&amp;', $this->_article->getIntroText()));
>>>>> -	            $this->setValue( "postExtendedText",
>>>> preg_replace('/&/','&amp;',$this->_article->getExtendedText()));
>>>>> +	            $this->setValue( "postText",
>>>> preg_replace('/(&amp;|&)/', '&amp;',
>>>> $this->_article->getIntroText()));
>>>>> +	            $this->setValue( "postExtendedText",
>>>> preg_replace('/(&amp;|&)/','&amp;',$this->_article->getExtende
>>>> dText()));
>>>>> 	            $this->setValue( "postSlug",
>>>> $this->_article->getPostSlug());
>>>>> 	            $this->setValue( "postId",
>>>> $this->_article->getId());
>>>>> 	            if( $this->_article->getCommentsEnabled())
>>>>>
>>>>> _______________________________________________
>>>>> pLog-svn mailing list
>>>>> pLog-svn at devel.lifetype.net
>>>>> http://devel.lifetype.net/mailman/listinfo/plog-svn
>>>>>
>>>>
>>>> **************************************
>>>> Jon Daley
>>>> http://jon.limedaley.com/
>>>>
>>>> The difference between genius and stupidity is that genius has its
>>>> limits.
>>>> -- Anonymous
>>>> _______________________________________________
>>>> pLog-svn mailing list
>>>> pLog-svn at devel.lifetype.net
>>>> http://devel.lifetype.net/mailman/listinfo/plog-svn
>>>
>>> _______________________________________________
>>> pLog-svn mailing list
>>> pLog-svn at devel.lifetype.net
>>> http://devel.lifetype.net/mailman/listinfo/plog-svn
>>>
>>
>> **************************************
>> Jon Daley
>> http://jon.limedaley.com/
>>
>> With memory prices this low, who needs to deallocate memory?
>> _______________________________________________
>> pLog-svn mailing list
>> pLog-svn at devel.lifetype.net
>> http://devel.lifetype.net/mailman/listinfo/plog-svn
>
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://devel.lifetype.net/mailman/listinfo/plog-svn
>

**************************************
Jon Daley
http://jon.limedaley.com/

I either want less corruption, or more chance to participate in it.
-- Ashleigh Brilliant


More information about the pLog-svn mailing list