Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

PHP String Replace

LEGEND ,
Aug 26, 2006 Aug 26, 2006
I am looking to add my date to the beginning of my articles. Previously, I
was using the string replace function to look for the begininng of my
paragraph and then place the date in front of that. Bad Jon! I forgot that
any article with multiple paragraphs would then have multiple dates.

$artContent = str_replace('<p>', '<p> '.$artDateEdited.' - ',
$artContent);

So, what I am looking for is how do I do a string replaceon just the first
paragraph?

--

TIA,

Jon Parkhurst
PriivaWeb
http://priiva.net.


TOPICS
Server side applications
773
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 26, 2006 Aug 26, 2006
On 26 Aug 2006 in macromedia.dreamweaver.appdev, crash wrote:

> I am looking to add my date to the beginning of my articles.
> Previously, I was using the string replace function to look for the
> begininng of my paragraph and then place the date in front of that.
> Bad Jon! I forgot that any article with multiple paragraphs would
> then have multiple dates.
>
> $artContent = str_replace('<p>', '<p>
> '.$artDateEdited.' - ',
> $artContent);
>
> So, what I am looking for is how do I do a string replaceon just the
> first paragraph?

http://www.php.net/manual/en/function.preg-replace.php

In particular, the optional 4th parameter to preg_replace() is a limit;
you can set this to 1.

--
Joe Makowiec
http://makowiec.net/
Email: http://makowiec.net/email.php
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 26, 2006 Aug 26, 2006
you da man Joe, thanks a million. :O)


"Joe Makowiec" <makowiec@invalid.invalid> wrote in message
news:Xns982BA19BFAAE8makowiecatnycapdotrE@216.104.212.96...
> On 26 Aug 2006 in macromedia.dreamweaver.appdev, crash wrote:
>
>> I am looking to add my date to the beginning of my articles.
>> Previously, I was using the string replace function to look for the
>> begininng of my paragraph and then place the date in front of that.
>> Bad Jon! I forgot that any article with multiple paragraphs would
>> then have multiple dates.
>>
>> $artContent = str_replace('<p>', '<p>
>> '.$artDateEdited.' - ',
>> $artContent);
>>
>> So, what I am looking for is how do I do a string replaceon just the
>> first paragraph?
>
> http://www.php.net/manual/en/function.preg-replace.php
>
> In particular, the optional 4th parameter to preg_replace() is a limit;
> you can set this to 1.
>
> --
> Joe Makowiec
> http://makowiec.net/
> Email: http://makowiec.net/email.php


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 07, 2006 Sep 07, 2006
LOL, just now getting back to this.

I've got myself in a little bit of a bind, b/c I didn't foresee my data
having more than one paragraph.

This is what I'm thinking of doing. If there's a better way, can somebody
pipe in?

Take data from database.
Search for <p> tags, and capture all text within the first instances
Limit text to X number of chars
Replace <p> tags, and my ...Full Story links

Looking now through all of the string functions and preg_replace right now.

Basically, I"m having some problems finding a function that will replace
$var on the Xth instance.

Will post tomorrow with my results.
"Joe Makowiec" <makowiec@invalid.invalid> wrote in message
news:Xns982BA19BFAAE8makowiecatnycapdotrE@216.104.212.96...
> On 26 Aug 2006 in macromedia.dreamweaver.appdev, crash wrote:
>
>> I am looking to add my date to the beginning of my articles.
>> Previously, I was using the string replace function to look for the
>> begininng of my paragraph and then place the date in front of that.
>> Bad Jon! I forgot that any article with multiple paragraphs would
>> then have multiple dates.
>>
>> $artContent = str_replace('<p>', '<p>
>> '.$artDateEdited.' - ',
>> $artContent);
>>
>> So, what I am looking for is how do I do a string replaceon just the
>> first paragraph?
>
> http://www.php.net/manual/en/function.preg-replace.php
>
> In particular, the optional 4th parameter to preg_replace() is a limit;
> you can set this to 1.
>
> --
> Joe Makowiec
> http://makowiec.net/
> Email: http://makowiec.net/email.php


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 07, 2006 Sep 07, 2006
Are you sure there are <p> tags in the data? The only way that could get
there would be if someone explicitly put them there.

--
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com - Template Triage!
http://www.projectseven.com/go - DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs, Tutorials & Resources
http://www.macromedia.com/support/search/ - Macromedia (MM) Technotes
==================


"crash" <crash@bcdcdigital.com> wrote in message
news:edq4r8$db9$1@forums.macromedia.com...
> LOL, just now getting back to this.
>
> I've got myself in a little bit of a bind, b/c I didn't foresee my data
> having more than one paragraph.
>
> This is what I'm thinking of doing. If there's a better way, can somebody
> pipe in?
>
> Take data from database.
> Search for <p> tags, and capture all text within the first instances
> Limit text to X number of chars
> Replace <p> tags, and my ...Full Story links
>
> Looking now through all of the string functions and preg_replace right
> now.
>
> Basically, I"m having some problems finding a function that will replace
> $var on the Xth instance.
>
> Will post tomorrow with my results.
> "Joe Makowiec" <makowiec@invalid.invalid> wrote in message
> news:Xns982BA19BFAAE8makowiecatnycapdotrE@216.104.212.96...
>> On 26 Aug 2006 in macromedia.dreamweaver.appdev, crash wrote:
>>
>>> I am looking to add my date to the beginning of my articles.
>>> Previously, I was using the string replace function to look for the
>>> begininng of my paragraph and then place the date in front of that.
>>> Bad Jon! I forgot that any article with multiple paragraphs would
>>> then have multiple dates.
>>>
>>> $artContent = str_replace('<p>', '<p>
>>> '.$artDateEdited.' - ',
>>> $artContent);
>>>
>>> So, what I am looking for is how do I do a string replaceon just the
>>> first paragraph?
>>
>> http://www.php.net/manual/en/function.preg-replace.php
>>
>> In particular, the optional 4th parameter to preg_replace() is a limit;
>> you can set this to 1.
>>
>> --
>> Joe Makowiec
>> http://makowiec.net/
>> Email: http://makowiec.net/email.php
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
On Thu, 7 Sep 2006 18:22:13 -0400, "Murray *ACE*"
<forums@HAHAgreat-web-sights.com> wrote:

>Are you sure there are <p> tags in the data? The only way that could get
>there would be if someone explicitly put them there.

Rich text editors (like KTML or FCKEditor) convert user content into
(X)HTML for insertion into the database.
--
Steve
steve at flyingtigerwebdesign dot com
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Did he say he was using such a beast?

--
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com - Template Triage!
http://www.projectseven.com/go - DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs, Tutorials & Resources
http://www.macromedia.com/support/search/ - Macromedia (MM) Technotes
==================


"Steve" <me@here.com> wrote in message
news:e2d2g25r67ehm03jo24d190r4b8ih5gv68@4ax.com...
> On Thu, 7 Sep 2006 18:22:13 -0400, "Murray *ACE*"
> <forums@HAHAgreat-web-sights.com> wrote:
>
>>Are you sure there are <p> tags in the data? The only way that could get
>>there would be if someone explicitly put them there.
>
> Rich text editors (like KTML or FCKEditor) convert user content into
> (X)HTML for insertion into the database.
> --
> Steve
> steve at flyingtigerwebdesign dot com


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
No, but I should have an I am. I am using the TinyMCE javascript component
to add WYSWIG functionality. In addition to this, my input forms should do
a search and replace to ensure all paragraphs have the request tags.



Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Then your scheme would work, no?

--
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com - Template Triage!
http://www.projectseven.com/go - DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs, Tutorials & Resources
http://www.macromedia.com/support/search/ - Macromedia (MM) Technotes
==================


"crash" <crash@bcdcdigital.com> wrote in message
news:eds0h8$lib$1@forums.macromedia.com...
> No, but I should have an I am. I am using the TinyMCE javascript
> component to add WYSWIG functionality. In addition to this, my input
> forms should do a search and replace to ensure all paragraphs have the
> request tags.
>
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
as long as I find the function. I'm able to find counting functions within
the preg_replace function, but it looks like it doesn't *analyze* the count.
I need it to take away the first paragraph tag and the last end paragraph
tag - not all of them.

Just digging through that [explicative] php.net site and trying to decipher.
I bet those guys communicate worse than I do! ;o) (just joking if you guys
are reading, it's wonderful)

i'll post back when i find the correct way to implement it. :D


"Murray *ACE*" <forums@HAHAgreat-web-sights.com> wrote in message
news:eds15t$mbd$1@forums.macromedia.com...
> Then your scheme would work, no?
>
> --
> Murray --- ICQ 71997575
> Adobe Community Expert
> (If you *MUST* email me, don't LAUGH when you do so!)
> ==================
> http://www.dreamweavermx-templates.com - Template Triage!
> http://www.projectseven.com/go - DW FAQs, Tutorials & Resources
> http://www.dwfaq.com - DW FAQs, Tutorials & Resources
> http://www.macromedia.com/support/search/ - Macromedia (MM) Technotes
> ==================
>
>
> "crash" <crash@bcdcdigital.com> wrote in message
> news:eds0h8$lib$1@forums.macromedia.com...
>> No, but I should have an I am. I am using the TinyMCE javascript
>> component to add WYSWIG functionality. In addition to this, my input
>> forms should do a search and replace to ensure all paragraphs have the
>> request tags.
>>
>>
>>
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
does using a rtrim and ltrim sound like it's barking upt he wrong alley?

I've been looking for counting things, but if I just start from the right
and replace the <p> tag, and then start from the left and replace the </p>
tag (backwards) then I should be able to do it with two simple statements
instead of a long complicated one, no?

Or am I overlooking a funciton?

Again, kinda rhetorical as I'm assuming there is not a function to do this
and am moving ahead with rtrim etc.

Jon

"crash" <crash@bcdcdigital.com> wrote in message
news:eds1la$mvi$1@forums.macromedia.com...
> as long as I find the function. I'm able to find counting functions within
> the preg_replace function, but it looks like it doesn't *analyze* the
> count. I need it to take away the first paragraph tag and the last end
> paragraph tag - not all of them.
>
> Just digging through that [explicative] php.net site and trying to
> decipher. I bet those guys communicate worse than I do! ;o) (just joking
> if you guys are reading, it's wonderful)
>
> i'll post back when i find the correct way to implement it. :D
>
>
> "Murray *ACE*" <forums@HAHAgreat-web-sights.com> wrote in message
> news:eds15t$mbd$1@forums.macromedia.com...
>> Then your scheme would work, no?
>>
>> --
>> Murray --- ICQ 71997575
>> Adobe Community Expert
>> (If you *MUST* email me, don't LAUGH when you do so!)
>> ==================
>> http://www.dreamweavermx-templates.com - Template Triage!
>> http://www.projectseven.com/go - DW FAQs, Tutorials & Resources
>> http://www.dwfaq.com - DW FAQs, Tutorials & Resources
>> http://www.macromedia.com/support/search/ - Macromedia (MM) Technotes
>> ==================
>>
>>
>> "crash" <crash@bcdcdigital.com> wrote in message
>> news:eds0h8$lib$1@forums.macromedia.com...
>>> No, but I should have an I am. I am using the TinyMCE javascript
>>> component to add WYSWIG functionality. In addition to this, my input
>>> forms should do a search and replace to ensure all paragraphs have the
>>> request tags.
>>>
>>>
>>>
>>
>>
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Man, oh man. If Jon missed any more forests for the trees....

This is what I needed up doing, and it is much easier, prettier, etc. etc.
Looks (in my testing) to work perfectly.

if ($row_rsFrontPage['newsShortDesc'] != ''){//if short description exists
$fpCont = $row_rsFrontPage['newsShortDesc'];
if(strlen($fpCont) > 350){//if descrp is greater than 350
$fpCont = truncate_string($fpCont, 350);}
$fpCont = ltrim($fpCont, "<p>");//remove any preceding <p> if exists
$fpCont = rtrim($fpCont, "</p>");//same for *last* </p> tag, not *all*
</p>
$fpCont = '<p>'.$fpDateEdited.$fpCont.'  <a
href="news.php?cid='.$fpID.'">Full Story</a></p>'; //complie content and get
on your way.

Gads, but that was so simple. What a maroon! ;o)

Thanks guys for all your help, and if you saw this before I did, thanks for
not saying anything. :O) That was one that while I feel silly for missing
the obvious, will hopefully help my process in the future.

Jon

"crash" <crash@bcdcdigital.com> wrote in message
news:ecq2t3$2h4$1@forums.macromedia.com...
>I am looking to add my date to the beginning of my articles. Previously, I
>was using the string replace function to look for the begininng of my
>paragraph and then place the date in front of that. Bad Jon! I forgot
>that any article with multiple paragraphs would then have multiple dates.
>
> $artContent = str_replace('<p>', '<p> '.$artDateEdited.' - ',
> $artContent);
>
> So, what I am looking for is how do I do a string replaceon just the first
> paragraph?
>
> --
>
> TIA,
>
> Jon Parkhurst
> PriivaWeb
> http://priiva.net.
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Jon,

your missing a " in the first line it should read
if ($row_rsFrontPage['newsShortDesc'] != "''){//if short description exists


--

Dave Buchholz
I-CRE8
www.i-cre8.co.uk
Skype ID: I-CRE8
"crash" <crash@bcdcdigital.com> wrote in message
news:eds9ub$485$1@forums.macromedia.com...
> Man, oh man. If Jon missed any more forests for the trees....
>
> This is what I needed up doing, and it is much easier, prettier, etc. etc.
> Looks (in my testing) to work perfectly.
>
> if ($row_rsFrontPage['newsShortDesc'] != ''){//if short description exists
> $fpCont = $row_rsFrontPage['newsShortDesc'];
> if(strlen($fpCont) > 350){//if descrp is greater than 350
> $fpCont = truncate_string($fpCont, 350);}
> $fpCont = ltrim($fpCont, "<p>");//remove any preceding <p> if exists
> $fpCont = rtrim($fpCont, "</p>");//same for *last* </p> tag, not *all*
> </p>
> $fpCont = '<p>'.$fpDateEdited.$fpCont.'  <a
> href="news.php?cid='.$fpID.'">Full Story</a></p>'; //complie content and
> get on your way.
>
> Gads, but that was so simple. What a maroon! ;o)
>
> Thanks guys for all your help, and if you saw this before I did, thanks
> for not saying anything. :O) That was one that while I feel silly for
> missing the obvious, will hopefully help my process in the future.
>
> Jon
>
> "crash" <crash@bcdcdigital.com> wrote in message
> news:ecq2t3$2h4$1@forums.macromedia.com...
>>I am looking to add my date to the beginning of my articles. Previously, I
>>was using the string replace function to look for the begininng of my
>>paragraph and then place the date in front of that. Bad Jon! I forgot
>>that any article with multiple paragraphs would then have multiple dates.
>>
>> $artContent = str_replace('<p>', '<p> '.$artDateEdited.' - ',
>> $artContent);
>>
>> So, what I am looking for is how do I do a string replaceon just the
>> first paragraph?
>>
>> --
>>
>> TIA,
>>
>> Jon Parkhurst
>> PriivaWeb
>> http://priiva.net.
>>
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Thanks mate. It's just the way it looks. they're actually two single quotes
' '
not one double.

It doesn't make a difference what kind of quotes you use, does it? I
typically use ' to designate when I'm starting a string, but other than
that, when looking for values, I think I tend to migrate between the two b/c
I didn't think it made a difference.

Does it?

"Dave Buchholz" <forums@REMOVETHISi-cre8.co.uk> wrote in message
news:edsbc5$62o$1@forums.macromedia.com...
> Jon,
>
> your missing a " in the first line it should read
> if ($row_rsFrontPage['newsShortDesc'] != "''){//if short description
> exists
>
>
> --
>
> Dave Buchholz
> I-CRE8
> www.i-cre8.co.uk
> Skype ID: I-CRE8
> "crash" <crash@bcdcdigital.com> wrote in message
> news:eds9ub$485$1@forums.macromedia.com...
>> Man, oh man. If Jon missed any more forests for the trees....
>>
>> This is what I needed up doing, and it is much easier, prettier, etc.
>> etc. Looks (in my testing) to work perfectly.
>>
>> if ($row_rsFrontPage['newsShortDesc'] != ''){//if short description
>> exists
>> $fpCont = $row_rsFrontPage['newsShortDesc'];
>> if(strlen($fpCont) > 350){//if descrp is greater than 350
>> $fpCont = truncate_string($fpCont, 350);}
>> $fpCont = ltrim($fpCont, "<p>");//remove any preceding <p> if exists
>> $fpCont = rtrim($fpCont, "</p>");//same for *last* </p> tag, not *all*
>> </p>
>> $fpCont = '<p>'.$fpDateEdited.$fpCont.'  <a
>> href="news.php?cid='.$fpID.'">Full Story</a></p>'; //complie content and
>> get on your way.
>>
>> Gads, but that was so simple. What a maroon! ;o)
>>
>> Thanks guys for all your help, and if you saw this before I did, thanks
>> for not saying anything. :O) That was one that while I feel silly for
>> missing the obvious, will hopefully help my process in the future.
>>
>> Jon
>>
>> "crash" <crash@bcdcdigital.com> wrote in message
>> news:ecq2t3$2h4$1@forums.macromedia.com...
>>>I am looking to add my date to the beginning of my articles. Previously,
>>>I was using the string replace function to look for the begininng of my
>>>paragraph and then place the date in front of that. Bad Jon! I forgot
>>>that any article with multiple paragraphs would then have multiple dates.
>>>
>>> $artContent = str_replace('<p>', '<p> '.$artDateEdited.' - ',
>>> $artContent);
>>>
>>> So, what I am looking for is how do I do a string replaceon just the
>>> first paragraph?
>>>
>>> --
>>>
>>> TIA,
>>>
>>> Jon Parkhurst
>>> PriivaWeb
>>> http://priiva.net.
>>>
>>
>>
>
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
On 08 Sep 2006 in macromedia.dreamweaver.appdev, crash wrote:

> It doesn't make a difference what kind of quotes you use, does it?
> I typically use ' to designate when I'm starting a string, but other
> than that, when looking for values, I think I tend to migrate
> between the two b/c I didn't think it made a difference.

Actually, it does. In strings delimited with double quotes (0x22), PHP

understands ... escape sequences for special characters [and]
variable names will be expanded.

http://www.php.net/manual/en/language.types.string.php

(Sorry. I caught your message about wading through php.net, but it's the
best technical explanation around... <grin>)

This has two practical consequences:
- it allows you to do more with the string
- it puts more load on the server

So to give a long answer to a short question, yes, it's best to use
single quotes in most circumstances.

--
Joe Makowiec
http://makowiec.net/
Email: http://makowiec.net/email.php
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
Ahh my bad sorry.

I would use double quotes for something like this, not sure about the single
quote, if I did it that way but in my own code I would actually write the if
statement like so:-

$field = trim($row_rsFrontPage['newsShortDesc']);
if (strlen($field) > 0) { //if short description exists
$fpCont = $row_rsFrontPage['newsShortDesc'];
}

but that's just my way of doing things


--

Dave Buchholz
I-CRE8
www.i-cre8.co.uk
Skype ID: I-CRE8


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
It appears that you are correct, sir!

Thank you so much for bringing it to my attention. Joe's post highlighted
some errors I had experienced.

Good eyes mate, thanks again!

Jon

"Dave Buchholz" <forums@REMOVETHISi-cre8.co.uk> wrote in message
news:edsdl2$8qv$1@forums.macromedia.com...
> Ahh my bad sorry.
>
> I would use double quotes for something like this, not sure about the
> single quote, if I did it that way but in my own code I would actually
> write the if statement like so:-
>
> $field = trim($row_rsFrontPage['newsShortDesc']);
> if (strlen($field) > 0) { //if short description exists
> $fpCont = $row_rsFrontPage['newsShortDesc'];
> }
>
> but that's just my way of doing things
>
>
> --
>
> Dave Buchholz
> I-CRE8
> www.i-cre8.co.uk
> Skype ID: I-CRE8
>


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 08, 2006 Sep 08, 2006
LATEST
hehee, no worries. PHP.net has great info. It's just a bear [for me] to
search through and read sometimes. Probably b/c by the time you're going
there, you're all bug-eyed and crossy anyway.

> Actually, it does. In strings delimited with double quotes (0x22), PHP
>
> understands ... escape sequences for special characters [and]
> variable names will be expanded.

This makes sense to me now. I had experienced some problems with this (the
other guy codes for new lines) but just wrote it off to ... well...I guess
exactly what it was, syntax. I had not done the troubleshooting on it,
though. Thanks a ton!

> So to give a long answer to a short question, yes, it's best to use
> single quotes in most circumstances.

Cool, I'll save it for when needed. I'm glad you mentioned the server load,
as it's easy to see in hindsight, but I would most likely have adapted
widespread use of double's just b/c I'm lazy and I can see how that would
cut down on some coding (at least punctuation).

Thanks Joe, great info as usual!

Jon


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines