[PHP] Stripping carriage returns
I'm retrieving CLOB data from an Oracle database, and cleaning up the HTML in it. I'm using the following commands: $content = strip_tags($description-fields['CONTENT'],'polulli'); $content = preg_replace(/p.*/,p,$content); The second line is necessary because the p tag frequently comes with class or style descriptions that must be eliminated. This works on the whole except where the p tag with the style definition is broken up over two or more lines. In other words, something like: p class = bullettext style = line-height: normal border: 3; In this case, the second line of my code does not strip the class or style definitions from the paragraph tag. I've tried: $content = nl2br($content) and $content = str_replace(chr(13),$content) and $content = preg_replace(/[.chr(10).|.chr(13).]/,,$content) (I've read that Oracle uses chr(10) or chr(13) to represent line breaks internally, so I decided to give those a try as well.) and $content = str_replace(array('\n','\r','\r\n'),$content) all to no avail; these all leave the line break intact, which means my preg_replace('/p.*/','p',$content) line still breaks. Anyone have any ideas? -- Sláinte, Richard S. Crawford (rich...@underpope.com) http://www.underpope.com
Re: [PHP] Stripping carriage returns
On Tue, 2011-01-11 at 11:13 -0800, Richard S. Crawford wrote: I'm retrieving CLOB data from an Oracle database, and cleaning up the HTML in it. I'm using the following commands: $content = strip_tags($description-fields['CONTENT'],'polulli'); $content = preg_replace(/p.*/,p,$content); The second line is necessary because the p tag frequently comes with class or style descriptions that must be eliminated. This works on the whole except where the p tag with the style definition is broken up over two or more lines. In other words, something like: p class = bullettext style = line-height: normal border: 3; In this case, the second line of my code does not strip the class or style definitions from the paragraph tag. I've tried: $content = nl2br($content) and $content = str_replace(chr(13),$content) and $content = preg_replace(/[.chr(10).|.chr(13).]/,,$content) (I've read that Oracle uses chr(10) or chr(13) to represent line breaks internally, so I decided to give those a try as well.) and $content = str_replace(array('\n','\r','\r\n'),$content) all to no avail; these all leave the line break intact, which means my preg_replace('/p.*/','p',$content) line still breaks. Anyone have any ideas? If you don't have too many problems with the HTML code (like broken tags, etc) then maybe you could use strip_tags() which will perform better than a regex in this instance, and should work with tags over multiple lines as well (although I can't say I've specifically tried that) Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Stripping carriage returns
On Tue, Jan 11, 2011 at 14:13, Richard S. Crawford rich...@underpope.com wrote: $content = str_replace(chr(13),$content) and $content = str_replace(array('\n','\r','\r\n'),$content) Neither of these have replacement values, which might just be a typo. However, the larger issue is in the single (literal) quotes in the second example. Change that to: $content = str_replace(array(\n,\r,\r\n),'',$content); If you're ambitious, you can try the FileConv PHP extension available here: http://links.parasane.net/dxdv -- /Daniel P. Brown Network Infrastructure Manager Documentation, Webmaster Teams http://www.php.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping carriage returns
On Tue, Jan 11, 2011 at 11:13 AM, Richard S. Crawford rich...@underpope.com wrote: $content = preg_replace(/[.chr(10).|.chr(13).]/,,$content) This should be $content = preg_replace('/[\r\n]/','',$content) First, you can embed \r and \n directly in the regular expression as-is (not converted to chr(10) by PHP) by using single quotes. Second, you don't want the vertical bar inside []. That's only for (). David
Re: [PHP] Stripping carriage returns
Strangely, when I use \n, or nl2br(), or PHP_EOL, or anything like that, it strips out not just line breaks, but most of the rest of the text as well. I suspect an encoding issue at this point. Daniel, you were right when you said that neither of my str_replace lines had repl.acement values; that was indeed a typo when I was copying the code over into my email. Ashley, I've already been using strip_tags to eliminate all but p, ol, ul, and li tags. On Tue, Jan 11, 2011 at 11:24 AM, David Harkness davi...@highgearmedia.comwrote: On Tue, Jan 11, 2011 at 11:13 AM, Richard S. Crawford rich...@underpope.com wrote: $content = preg_replace(/[.chr(10).|.chr(13).]/,,$content) This should be $content = preg_replace('/[\r\n]/','',$content) First, you can embed \r and \n directly in the regular expression as-is (not converted to chr(10) by PHP) by using single quotes. Second, you don't want the vertical bar inside []. That's only for (). David -- Sláinte, Richard S. Crawford (rich...@underpope.com) http://www.underpope.com
Re: [PHP] Stripping carriage returns
On Jan 11, 2011, at 11:34 AM, Richard S. Crawford wrote: Strangely, when I use \n, or nl2br(), or PHP_EOL, or anything like that, it strips out not just line breaks, but most of the rest of the text as well. I suspect an encoding issue at this point. Daniel, you were right when you said that neither of my str_replace lines had repl.acement values; that was indeed a typo when I was copying the code over into my email. Ashley, I've already been using strip_tags to eliminate all but p, ol, ul, and li tags. Perhaps you could use tidy to clean up the formatting (use -wrap 0) before attempting to strip out the stuff you want to get rid of. Mari -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping carriage returns
On 1/11/2011 11:13 AM, Richard S. Crawford wrote: I'm retrieving CLOB data from an Oracle database, and cleaning up the HTML in it. I'm using the following commands: $content = strip_tags($description-fields['CONTENT'],'polulli'); $content = preg_replace(/p.*/,p,$content); The second line is necessary because the p tag frequently comes with class or style descriptions that must be eliminated. This works on the whole except where the p tag with the style definition is broken up over two or more lines. In other words, something like: p class = bullettext style = line-height: normal border: 3; In this case, the second line of my code does not strip the class or style definitions from the paragraph tag. I've tried: $content = nl2br($content) and $content = str_replace(chr(13),$content) and $content = preg_replace(/[.chr(10).|.chr(13).]/,,$content) (I've read that Oracle uses chr(10) or chr(13) to represent line breaks internally, so I decided to give those a try as well.) and $content = str_replace(array('\n','\r','\r\n'),$content) all to no avail; these all leave the line break intact, which means my preg_replace('/p.*/','p',$content) line still breaks. Anyone have any ideas? Richard, Looks like you need to read up on the modifiers for preg_* functions. Start here: http://us3.php.net/manual/en/reference.pcre.pattern.modifiers.php I would change your second line regex to the following. $content = preg_replace(/p.*/is, p, $content); The modifiers after the second / are i = case-insensitive s = include new lines in your '.' character match. New lines are excluded by default. Can't remember right now, nor do I have the time to test, you might need to invert the greediness of the match using a 'U' after the second / also. So... $content = preg_replace(/p.*/isU, p, $content); YMMV Let us know how this works out for you. Jim Lucas PS: you might want to swap the order of these two statements. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Characters
On 23 June 2010 01:03, Rick Dwyer rpdw...@earthlink.net wrote: $find = '/[^a-z0-9]/i'; Replace that with ... $find = '/[^a-z0-9]++/i'; And now you only need ... $new_string = trim(preg_replace($find, $replace, $old_string)); -- - Richard Quadling Standing on the shoulders of some very clever giants! EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping Characters
Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? --Rick -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Stripping Characters
Hello, can this resolve your problem? $trans = array( from = to, another = to); $moditem = StrTr($moditem, $trans); -- http://cz.php.net/manual/en/function.strtr.php David -Original Message- From: Rick Dwyer [mailto:rpdw...@earthlink.net] Sent: Tuesday, June 22, 2010 5:41 PM To: php-general@lists.php.net Subject: [PHP] Stripping Characters Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? --Rick -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Characters
On Tue, 2010-06-22 at 11:40 -0400, Rick Dwyer wrote: Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? --Rick Use preg_replace(), which allows you to use a regex to specify what you want to match: $find = '/[^a-z0-9]/i'; $replace = '_'; $new_string = preg_replace($find, $replace, $old_string); Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Stripping Characters
Perhaps, ereg_replace(your regex, replacement_string, String $variable). Regards, Shreyas On Tue, Jun 22, 2010 at 9:10 PM, Rick Dwyer rpdw...@earthlink.net wrote: Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? --Rick -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Regards, Shreyas Agasthya
Re: [PHP] Stripping Characters
On 22 June 2010 16:44, Ashley Sheridan a...@ashleysheridan.co.uk wrote: On Tue, 2010-06-22 at 11:40 -0400, Rick Dwyer wrote: Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? --Rick Use preg_replace(), which allows you to use a regex to specify what you want to match: $find = '/[^a-z0-9]/i'; $replace = '_'; $new_string = preg_replace($find, $replace, $old_string); Thanks, Ash http://www.ashleysheridan.co.uk Watch out for white space in there. Tabs, spaces, new lines, etc. will also be converted to underscore. $find = '/[^\w\s]/i'; [^\w\s] Match a single character NOT present in the list below «[^\w\s]» A word character (letters, digits, and underscores) «\w» A whitespace character (spaces, tabs, and line breaks) «\s» A word character is any letter or digit or the underscore character, that is, any character which can be part of a Perl word. The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the fr (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w. -- - Richard Quadling Standing on the shoulders of some very clever giants! EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Characters
On Tue, Jun 22, 2010 at 9:40 AM, Rick Dwyer rpdw...@earthlink.net wrote: Hello List. I need to remove characters from a string and replace them with and underscore. So instead of having something like: $moditem = str_replace(--,_,$mystring); $moditem = str_replace(?,_,$mystring); $moditem = str_replace(!,_,$mystring); etc. For every possible character I can think of, is there a way to simply omit any character that is not an alpha character and not a number value from 0 to 9? check the docs, the first parameter may be an array of multiple needles, e.g. $moditem = str_replace(array('-', '?', '!'), '_', $mystring); you could likely do something more elegant w/ preg_replace() tho. -nathan
Re: [PHP] Stripping Characters
Then, when does one use ereg_replace as against preg_replace? I read from one the forums that preg_* is faster and ereg_* is if not faster but simpler. Is that it? Regards, Shreyas On Tue, Jun 22, 2010 at 9:58 PM, Richard Quadling rquadl...@gmail.comwrote: A word character is any letter or digit or the underscore character, that is, any character which can be part of a Perl word. The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the fr (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w. The above becomes ... _A _word_ character is any letter or digit or the underscore character_ that is_ any character which can be part of a Perl _word__ The definition of letters and digits is controlled by PCRE_s character tables_ and may vary if locale_specific matching is taking place_ For example_ in the _fr_ _French_ locale_ some character codes greater than 128 are used for accented letters_ and these are matched by _w__ -- - Richard Quadling Standing on the shoulders of some very clever giants! EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Regards, Shreyas Agasthya
Re: [PHP] Stripping Characters
Thanks to everyone who responded. Regarding the myriad of choices, isn't Ashley's, listed below, the one most like to guarantee the cleanest output of just letters and numbers? --Rick On Jun 22, 2010, at 11:44 AM, Ashley Sheridan wrote: On Tue, 2010-06-22 at 11:40 -0400, Rick Dwyer wrote: Use preg_replace(), which allows you to use a regex to specify what you want to match: $find = '/[^a-z0-9]/i'; $replace = '_'; $new_string = preg_replace($find, $replace, $old_string); Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Stripping Characters
On Tue, 2010-06-22 at 13:35 -0400, Rick Dwyer wrote: Thanks to everyone who responded. Regarding the myriad of choices, isn't Ashley's, listed below, the one most like to guarantee the cleanest output of just letters and numbers? --Rick On Jun 22, 2010, at 11:44 AM, Ashley Sheridan wrote: On Tue, 2010-06-22 at 11:40 -0400, Rick Dwyer wrote: Use preg_replace(), which allows you to use a regex to specify what you want to match: $find = '/[^a-z0-9]/i'; $replace = '_'; $new_string = preg_replace($find, $replace, $old_string); Thanks, Ash http://www.ashleysheridan.co.uk It is clean, but as Richard mentioned, it won't handle strings outside of the traditional 128 ASCII range, so accented characters and the like will be converted to an underscore. Also, spaces might become an issue. However, if you are happy that your input won't go beyond the a-z0-9 range, then it should do what you need. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Stripping Characters
Shreyas Agasthya wrote: Then, when does one use ereg_replace as against preg_replace? I read from one the forums that preg_* is faster and ereg_* is if not faster but simpler. BUT, all the ereg_* has been depricated. DO NOT USE THEM if you want your code to work in the future. :) Is that it? Regards, Shreyas On Tue, Jun 22, 2010 at 9:58 PM, Richard Quadling rquadl...@gmail.comwrote: A word character is any letter or digit or the underscore character, that is, any character which can be part of a Perl word. The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the fr (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w. The above becomes ... _A _word_ character is any letter or digit or the underscore character_ that is_ any character which can be part of a Perl _word__ The definition of letters and digits is controlled by PCRE_s character tables_ and may vary if locale_specific matching is taking place_ For example_ in the _fr_ _French_ locale_ some character codes greater than 128 are used for accented letters_ and these are matched by _w__ -- - Richard Quadling Standing on the shoulders of some very clever giants! EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Jim Lucas A: Maybe because some people are too annoyed by top-posting. Q: Why do I not get an answer to my question(s)? A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Characters
Hello again list. My code for stripping characters is below. I'm hoping to get feedback as to how rock solid it will provide the desired output under any circumstance: My output must look like this (no quotes): This-is-my-string-with-lots-of-junk-characters-in-it The code with string looks like this: $old_string = 'This is my $string -- with ƒ lots˙˙˙of junk characters in it¡™£¢∞§¶•ªºœ∑´®† ¥¨ˆøπ“‘ååß∂ƒ©˙∆˚¬…æ`__'; $find = '/[^a-z0-9]/i'; $replace = ' '; $new_string = preg_replace($find, $replace, $old_string); $new_string = preg_replace(/ {2,}/, -, $new_string); $new_string = preg_replace(/ {1,}/, -, $new_string); $new_string = rtrim($new_string, -); $new_string = ltrim($new_string, -); echo $new_string; Will the logic above capture and remove every non alpha numeric character and place a SINGLE hyphen between the non contiguous alpha numeric characters? Thanks for the help on this. --Rick On Jun 22, 2010, at 4:52 PM, Rick Dwyer wrote: On Jun 22, 2010, at 1:41 PM, Ashley Sheridan wrote: It is clean, but as Richard mentioned, it won't handle strings outside of the traditional 128 ASCII range, so accented characters and the like will be converted to an underscore. Also, spaces might become an issue. However, if you are happy that your input won't go beyond the a- z0-9 range, then it should do what you need. No, actually I'm fairly confident characters outside the 128 range are what are causing me problems now. So I will try Richard's method. Thanks to all. --Rick -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Characters
On Tue, 2010-06-22 at 20:03 -0400, Rick Dwyer wrote: Hello again list. My code for stripping characters is below. I'm hoping to get feedback as to how rock solid it will provide the desired output under any circumstance: My output must look like this (no quotes): This-is-my-string-with-lots-of-junk-characters-in-it The code with string looks like this: $old_string = 'This is my $string -- with ƒ lots˙˙˙of junk characters in it¡™£¢∞§¶•ªºœ∑´®† ¥¨ˆøπ“‘ååß∂ƒ©˙∆˚¬…æ`__'; $find = '/[^a-z0-9]/i'; $replace = ' '; $new_string = preg_replace($find, $replace, $old_string); $new_string = preg_replace(/ {2,}/, -, $new_string); $new_string = preg_replace(/ {1,}/, -, $new_string); $new_string = rtrim($new_string, -); $new_string = ltrim($new_string, -); echo $new_string; Will the logic above capture and remove every non alpha numeric character and place a SINGLE hyphen between the non contiguous alpha numeric characters? Thanks for the help on this. --Rick On Jun 22, 2010, at 4:52 PM, Rick Dwyer wrote: On Jun 22, 2010, at 1:41 PM, Ashley Sheridan wrote: It is clean, but as Richard mentioned, it won't handle strings outside of the traditional 128 ASCII range, so accented characters and the like will be converted to an underscore. Also, spaces might become an issue. However, if you are happy that your input won't go beyond the a- z0-9 range, then it should do what you need. No, actually I'm fairly confident characters outside the 128 range are what are causing me problems now. So I will try Richard's method. Thanks to all. --Rick You can remove the second line of code, as the third one is replacing what line 2 does anyway. Also, instead of a rtrim and ltrim, you can merge the two with a single call to trim, which will work on both ends of the string at once. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Stripping Characters
Very good. Thank you. --Rick On Jun 22, 2010, at 8:14 PM, Ashley Sheridan wrote: On Tue, 2010-06-22 at 20:03 -0400, Rick Dwyer wrote: Hello again list. My code for stripping characters is below. I'm hoping to get feedback as to how rock solid it will provide the desired output under any circumstance: My output must look like this (no quotes): This-is-my-string-with-lots-of-junk-characters-in-it The code with string looks like this: $old_string = 'This is my $string -- with ƒ lots˙˙˙of junk characters in it¡™£¢∞§¶•ªºœ∑´®† ¥¨ˆøπ“‘ååß∂ƒ©˙∆˚¬… æ`__'; $find = '/[^a-z0-9]/i'; $replace = ' '; $new_string = preg_replace($find, $replace, $old_string); $new_string = preg_replace(/ {2,}/, -, $new_string); $new_string = preg_replace(/ {1,}/, -, $new_string); $new_string = rtrim($new_string, -); $new_string = ltrim($new_string, -); echo $new_string; Will the logic above capture and remove every non alpha numeric character and place a SINGLE hyphen between the non contiguous alpha numeric characters? Thanks for the help on this. --Rick On Jun 22, 2010, at 4:52 PM, Rick Dwyer wrote: On Jun 22, 2010, at 1:41 PM, Ashley Sheridan wrote: It is clean, but as Richard mentioned, it won't handle strings outside of the traditional 128 ASCII range, so accented characters and the like will be converted to an underscore. Also, spaces might become an issue. However, if you are happy that your input won't go beyond the a- z0-9 range, then it should do what you need. No, actually I'm fairly confident characters outside the 128 range are what are causing me problems now. So I will try Richard's method. Thanks to all. --Rick You can remove the second line of code, as the third one is replacing what line 2 does anyway. Also, instead of a rtrim and ltrim, you can merge the two with a single call to trim, which will work on both ends of the string at once. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] stripping first comma off and everything after
On Fri, Jun 18, 2010 at 3:56 PM, Adam Williams adam_willi...@bellsouth.netwrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php Adam (how could I not offer feedback to one with such a distinguished first name), rtrim() removes the characters contained in the second argument, it doesn't split a string using them. I would probably use strstr() if I didn't need the other sections, or, if I needed the other sections for later, I'd use explode: $your_string = 'CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx,'; echo strstr($haystack = $your_string, $needle = ',', $before_needle = true); if ($sections = explode($delimiter = ',', $string = $your_string)) echo current($sections); Adam -- Nephtali: PHP web framework that functions beautifully http://nephtaliproject.com
Re: [PHP] stripping first comma off and everything after
On Sat, Jun 19, 2010 at 3:08 AM, Adam Richardson simples...@gmail.comwrote: On Fri, Jun 18, 2010 at 3:56 PM, Adam Williams adam_willi...@bellsouth.net wrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php Adam (how could I not offer feedback to one with such a distinguished first name), rtrim() removes the characters contained in the second argument, it doesn't split a string using them. I would probably use strstr() if I didn't need the other sections, or, if I needed the other sections for later, I'd use explode: $your_string = 'CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx,'; echo strstr($haystack = $your_string, $needle = ',', $before_needle = true); if ($sections = explode($delimiter = ',', $string = $your_string)) echo current($sections); Adam -- Nephtali: PHP web framework that functions beautifully http://nephtaliproject.com Whoops! I realized in the explode example I had omitted the call to count (idea being if you didn't find any comma's, maybe you need to handle those situations differently): if (count($sections = explode($delimiter = ',', $string = $your_string)) 1) echo $sections[0]; Although, if it doesn't matter, you could just do: echo current(explode(',', $your_string)); And, as mentioned above, strstr() is one simple call if you won't need the other sections: echo strstr($your_string, ',' true); Adam -- Nephtali: PHP web framework that functions beautifully http://nephtaliproject.com
Re: [PHP] stripping first comma off and everything after
On Fri, 2010-06-18 at 15:03 -0500, Adam wrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? A substring() a strpos() should do the trick: substring($entries[$i]['dn'], 0, strpos($entries[$i]['dn']-1)) Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] stripping first comma off and everything after
On Sat, 2010-06-19 at 10:09 +0100, Ashley Sheridan wrote: On Fri, 2010-06-18 at 15:03 -0500, Adam wrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? A substring() a strpos() should do the trick: substring($entries[$i]['dn'], 0, strpos($entries[$i]['dn']-1)) Thanks, Ash http://www.ashleysheridan.co.uk An amendment, as I read the rest of the thread and realised that I too had missed out a check for the comma: substring($entries[$i]['dn'], 0, (strpos($entries[$i]['dn']?strpos($entries[$i]['dn']-1:strlen($entries[$i]['dn'] It doesn't look pretty, but it should do the trick. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] stripping first comma off and everything after
On Sat, Jun 19, 2010 at 05:09, Ashley Sheridan a...@ashleysheridan.co.uk wrote: A substring() a strpos() should do the trick: Echo echo [sprintf()] -- /Daniel P. Brown URGENT: EXTENDED TO SATURDAY, 19 JUNE: $100 OFF YOUR FIRST MONTH, FREE CPANEL FOR LIFE ON ANY NEW DEDICATED SERVER. NO LIMIT! daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ We now offer SAME-DAY SETUP on a new line of servers! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping first comma off and everything after
On 6/19/2010 3:08 AM, Adam Richardson wrote: $before_needle = true Requires 5.3 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping first comma off and everything after
I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping first comma off and everything after
Adam Williams wrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? ?php preg_replace( '#,.*$#', '', $entries[$i]['dn'] ); ? Cheers, Rob. -- E-Mail Disclaimer: Information contained in this message and any attached documents is considered confidential and legally protected. This message is intended solely for the addressee(s). Disclosure, copying, and distribution are prohibited unless authorized. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping first comma off and everything after
I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping first comma off and everything after
On Fri, Jun 18, 2010 at 15:56, Adam Williams adam_willi...@bellsouth.net wrote: I'm querying data and have results such as a variable named $entries[$i][dn]: CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx Basically I need to strip off the first command everything after, so that I just have it display CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92. I tried echo rtrim($entries[$i][dn],,); but that doesn't do anything. Any ideas? Check out substr() with strpos(). ?php $s = 'CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92,OU=XXf,OU=XX,OU=X,DC=,DC=xx,DC=xxx'; if (substr($s,0,strpos($s,',')) == 'CN=NTPRTPS3-LANIER-LD335c-LH107-PPRNP9A92') { echo Good..PHP_EOL; } else { echo Bad..PHP_EOL; } ? -- /Daniel P. Brown daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ We now offer SAME-DAY SETUP on a new line of servers! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
On Wed, September 20, 2006 7:13 pm, Christopher Watson wrote: I've been coding with PHP for maybe a year. So I'm somewhat new to it. But I've learned quickly, and created a fairly serious LAMP app that is capable of returning large query results. During my investigation into various means for incrementally reducing the response sizes, I've discovered output buffering with a callback function. So, as an experiment, I bracketed my includes of the Fusebox files in index.php with ob_start('sweeper') and ob_end_flush(), and placed the simple callback function at the top of the file that performs a preg_replace on the buffer to strip all excess space: function sweeper($buffer) { return preg_replace(/\s\s+/, , $buffer); } Here's where you MIGHT get bit in the butt: 1. Anything in a PRE tag is gonna suck big-time 2. Any kind of DATA from your db with multiple spaces will lose data Now, you might maybe be able to fix these by religiously always doing $output = str_replace(' ', 'nbsp', $output); on the DATA from the DB, or any kind of PRE tags stuff you use. Or maybe in YOUR application, neither of these matters. Test it with JUST the output buffer and without the whitespace crunch -- You may find that the ob is the big win, especially if you have a zillion echo statements going on. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
Cannot compression be set in .htaccess? Or even within the script??? I suspect you could even find a PHP class out there to compress and send the right headers to do it all in PHP, regardless of server settings... On Wed, September 20, 2006 7:33 pm, Christopher Watson wrote: Hi Robert, Well, I think the main reason I'm not using transparent output compression is because this app shares php.ini with several other PHP apps on the server, and I don't want to foist this change on the admins of those apps. I was trying to come up with a localized strategy for trimming my app's output. The pre/pre issue is not an issue for me. -Christopher On 9/20/06, Robert Cummings [EMAIL PROTECTED] wrote: Should be an issue as long as you're not stripping whitespace from between pre/pre tags. Although, one must wonder why you don't just use output compression since all that whitespace would just compress anyways as would all the other content. In fact 900k with fairly standard content would shrink to about 90k. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback [SOLVED]
Thanks for the follow-up Richard. I am now bracketing my Fusebox core includes with ob_start(ob_gzhandler) and ob_end_flush(). It's done wonders for those large query results. And since there is absolutely nothing in this app that relies on multiple contiguous whitespace characters, I'm good to go. Christopher Watson On 9/22/06, Richard Lynch [EMAIL PROTECTED] wrote: Cannot compression be set in .htaccess? Or even within the script??? I suspect you could even find a PHP class out there to compress and send the right headers to do it all in PHP, regardless of server settings... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping with an OB callback
I've been coding with PHP for maybe a year. So I'm somewhat new to it. But I've learned quickly, and created a fairly serious LAMP app that is capable of returning large query results. During my investigation into various means for incrementally reducing the response sizes, I've discovered output buffering with a callback function. So, as an experiment, I bracketed my includes of the Fusebox files in index.php with ob_start('sweeper') and ob_end_flush(), and placed the simple callback function at the top of the file that performs a preg_replace on the buffer to strip all excess space: function sweeper($buffer) { return preg_replace(/\s\s+/, , $buffer); } Results? Kinda nice! A large query result measuring over 900K of HTML is reduced to 600K. With no change at the browser. Still valid HTML, and the browser happily gobbles it up and displays it cleanly. It's just 30% faster getting to me. Now, the question. Is this going to bite me in the ass? 'Cause right now, it looks dang good to me. Great bang for the buck, as far as I'm concerned. I've been churning it over in my head, and I don't see a situation (certainly not in my particular app) where doing this whitespace reduction is going to backfire. There isn't anything in any of this that requires the contiguous non-word characters. I have a feeling though, that one of you more learned PHPers are going to tell me exactly where my ass is gonna start hurtin'. Christopher Watson Principal Architect The International Variable Star Index (VSX) http://vsx.aavso.org -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
On Wed, 2006-09-20 at 17:13 -0700, Christopher Watson wrote: I've been coding with PHP for maybe a year. So I'm somewhat new to it. But I've learned quickly, and created a fairly serious LAMP app that is capable of returning large query results. During my investigation into various means for incrementally reducing the response sizes, I've discovered output buffering with a callback function. So, as an experiment, I bracketed my includes of the Fusebox files in index.php with ob_start('sweeper') and ob_end_flush(), and placed the simple callback function at the top of the file that performs a preg_replace on the buffer to strip all excess space: function sweeper($buffer) { return preg_replace(/\s\s+/, , $buffer); } Results? Kinda nice! A large query result measuring over 900K of HTML is reduced to 600K. With no change at the browser. Still valid HTML, and the browser happily gobbles it up and displays it cleanly. It's just 30% faster getting to me. Now, the question. Is this going to bite me in the ass? 'Cause right now, it looks dang good to me. Great bang for the buck, as far as I'm concerned. I've been churning it over in my head, and I don't see a situation (certainly not in my particular app) where doing this whitespace reduction is going to backfire. There isn't anything in any of this that requires the contiguous non-word characters. I have a feeling though, that one of you more learned PHPers are going to tell me exactly where my ass is gonna start hurtin'. Should be an issue as long as you're not stripping whitespace from between pre/pre tags. Although, one must wonder why you don't just use output compression since all that whitespace would just compress anyways as would all the other content. In fact 900k with fairly standard content would shrink to about 90k. Cheers, Rob. -- .. | InterJinn Application Framework - http://www.interjinn.com | :: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
On Wed, 2006-09-20 at 20:21 -0400, Robert Cummings wrote: On Wed, 2006-09-20 at 17:13 -0700, Christopher Watson wrote: I've been coding with PHP for maybe a year. So I'm somewhat new to it. But I've learned quickly, and created a fairly serious LAMP app that is capable of returning large query results. During my investigation into various means for incrementally reducing the response sizes, I've discovered output buffering with a callback function. So, as an experiment, I bracketed my includes of the Fusebox files in index.php with ob_start('sweeper') and ob_end_flush(), and placed the simple callback function at the top of the file that performs a preg_replace on the buffer to strip all excess space: function sweeper($buffer) { return preg_replace(/\s\s+/, , $buffer); } Results? Kinda nice! A large query result measuring over 900K of HTML is reduced to 600K. With no change at the browser. Still valid HTML, and the browser happily gobbles it up and displays it cleanly. It's just 30% faster getting to me. Now, the question. Is this going to bite me in the ass? 'Cause right now, it looks dang good to me. Great bang for the buck, as far as I'm concerned. I've been churning it over in my head, and I don't see a situation (certainly not in my particular app) where doing this whitespace reduction is going to backfire. There isn't anything in any of this that requires the contiguous non-word characters. I have a feeling though, that one of you more learned PHPers are going to tell me exactly where my ass is gonna start hurtin'. Should be an issue That should have read shouldn't :) Cheers, Rob. -- .. | InterJinn Application Framework - http://www.interjinn.com | :: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
Hi Robert, Well, I think the main reason I'm not using transparent output compression is because this app shares php.ini with several other PHP apps on the server, and I don't want to foist this change on the admins of those apps. I was trying to come up with a localized strategy for trimming my app's output. The pre/pre issue is not an issue for me. -Christopher On 9/20/06, Robert Cummings [EMAIL PROTECTED] wrote: Should be an issue as long as you're not stripping whitespace from between pre/pre tags. Although, one must wonder why you don't just use output compression since all that whitespace would just compress anyways as would all the other content. In fact 900k with fairly standard content would shrink to about 90k. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
On Wed, 2006-09-20 at 17:33 -0700, Christopher Watson wrote: Hi Robert, Well, I think the main reason I'm not using transparent output compression is because this app shares php.ini with several other PHP apps on the server, and I don't want to foist this change on the admins of those apps. I was trying to come up with a localized strategy for trimming my app's output. Why settle for 30% speed boost when you can get 90% ... http://ca3.php.net/manual/en/function.ob-gzhandler.php :) Cheers, Rob. -- .. | InterJinn Application Framework - http://www.interjinn.com | :: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping with an OB callback
Bingo! That's the ticket. Thanks, Robert. -Christopher On 9/20/06, Robert Cummings [EMAIL PROTECTED] wrote: Why settle for 30% speed boost when you can get 90% ... http://ca3.php.net/manual/en/function.ob-gzhandler.php :) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping weird characters again...
Dear All, I'm having a problem replacing these bad characters from a feed. Example: descriptionThe United Kingdom92s National Arena Association has elected Geoff Huckstep, the current CEO of the National Ice Centre and Nottingham Arena, as chairman./description The 92is actually a single quote. I have these from some of the data dumps. I can't figure out what exactly to strip. When I view the file in vi they appear like 92 93 94 (highlighted in blue like controll characters. Can someone point me in the right direction to purge this from my feed? Thank you, Paul Nowosielski Webmaster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping enclosed text from PHP code
On 09/04/06, Winfried Meining [EMAIL PROTECTED] wrote: Hi, I am writing on a script that parses a PHP script and finds all function calls to check, if these functions exist. To do this, I needed a function that would strip out all text, which is enclosed in apostrophes or quotation marks. This is somewhat tricky, as the script needs to be aware of what really is an enclosed text and what is PHP code. So use the built in tokenizer functions which know exactly what's enclosed text and what is php code. Much quicker and more reliable than trying to do the same job with regular expressions. http://se.php.net/tokenizer -robin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping enclosed text from PHP code
Have you considered running php -s from the command line, which syntax highlights your source file for you, the searching for whatever color codes in your php.ini are used for functions? For that matter, you could custom-code the choices for the color and make the functions read in a separate php.ini On Sun, April 9, 2006 3:20 pm, Winfried Meining wrote: Hi, I am writing on a script that parses a PHP script and finds all function calls to check, if these functions exist. To do this, I needed a function that would strip out all text, which is enclosed in apostrophes or quotation marks. This is somewhat tricky, as the script needs to be aware of what really is an enclosed text and what is PHP code. Apostrophes in quotation mark enclosed text should be ignored and quotation marks in apostrophe enclosed text should be ignored, as well. Similarly, escaped apostrophes in apostrophe enclosed text and escaped quotation marks in quotation mark enclosed text should be ignored. The following function uses preg_match to do this job. ? function stripstrings($text) { while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $text, $matches)) { $front = $matches[1]; $lim = $matches[2]; $tail = $matches[3]; while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $front, $matches)) { $front = $matches[1]; $tail = $matches[3] . $lim . $tail; $lim = $matches[2]; } if (!preg_match(/^(.*)(?!\\\)$lim(.*)$/, $tail, $matches)) break; $string = $matches[1]; $tail = $matches[2]; while (preg_match(/^(.*)(?!\\\)$lim(.*)$/, $string, $matches)) { $string = $matches[1]; $tail = $matches[2] . $lim . $tail; } $text = $front . $tail; } return($text); } ? I noticed that this function is very slow, in particular because preg_match(/^(.*)some_string(.*)$/, $text, $matches); always seems to find the *last* occurrence of some_string and not the *first* (I would need the first). There is certainly a way to write another version where one looks at every single character when going through $text, but this would make the code much more complex. I wonder, if there is a faster *and* simple way to do the same thing. Is there btw a script freely available, which can parse PHP code and check for errors ? Any help is highly appreciated. Winfried -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping enclosed text from PHP code
Hi, I am writing on a script that parses a PHP script and finds all function calls to check, if these functions exist. To do this, I needed a function that would strip out all text, which is enclosed in apostrophes or quotation marks. This is somewhat tricky, as the script needs to be aware of what really is an enclosed text and what is PHP code. Apostrophes in quotation mark enclosed text should be ignored and quotation marks in apostrophe enclosed text should be ignored, as well. Similarly, escaped apostrophes in apostrophe enclosed text and escaped quotation marks in quotation mark enclosed text should be ignored. The following function uses preg_match to do this job. ? function stripstrings($text) { while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $text, $matches)) { $front = $matches[1]; $lim = $matches[2]; $tail = $matches[3]; while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $front, $matches)) { $front = $matches[1]; $tail = $matches[3] . $lim . $tail; $lim = $matches[2]; } if (!preg_match(/^(.*)(?!\\\)$lim(.*)$/, $tail, $matches)) break; $string = $matches[1]; $tail = $matches[2]; while (preg_match(/^(.*)(?!\\\)$lim(.*)$/, $string, $matches)) { $string = $matches[1]; $tail = $matches[2] . $lim . $tail; } $text = $front . $tail; } return($text); } ? I noticed that this function is very slow, in particular because preg_match(/^(.*)some_string(.*)$/, $text, $matches); always seems to find the *last* occurrence of some_string and not the *first* (I would need the first). There is certainly a way to write another version where one looks at every single character when going through $text, but this would make the code much more complex. I wonder, if there is a faster *and* simple way to do the same thing. Is there btw a script freely available, which can parse PHP code and check for errors ? Any help is highly appreciated. Winfried -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping enclosed text from PHP code
http://www.phpcompiler.org/ Satyam - Original Message - From: Winfried Meining [EMAIL PROTECTED] To: php-general@lists.php.net Sent: Sunday, April 09, 2006 10:20 PM Subject: [PHP] stripping enclosed text from PHP code Hi, I am writing on a script that parses a PHP script and finds all function calls to check, if these functions exist. To do this, I needed a function that would strip out all text, which is enclosed in apostrophes or quotation marks. This is somewhat tricky, as the script needs to be aware of what really is an enclosed text and what is PHP code. Apostrophes in quotation mark enclosed text should be ignored and quotation marks in apostrophe enclosed text should be ignored, as well. Similarly, escaped apostrophes in apostrophe enclosed text and escaped quotation marks in quotation mark enclosed text should be ignored. The following function uses preg_match to do this job. ? function stripstrings($text) { while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $text, $matches)) { $front = $matches[1]; $lim = $matches[2]; $tail = $matches[3]; while (preg_match(/^(.*)(?!\\\)('|\)(.*)$/, $front, $matches)) { $front = $matches[1]; $tail = $matches[3] . $lim . $tail; $lim = $matches[2]; } if (!preg_match(/^(.*)(?!\\\)$lim(.*)$/, $tail, $matches)) break; $string = $matches[1]; $tail = $matches[2]; while (preg_match(/^(.*)(?!\\\)$lim(.*)$/, $string, $matches)) { $string = $matches[1]; $tail = $matches[2] . $lim . $tail; } $text = $front . $tail; } return($text); } ? I noticed that this function is very slow, in particular because preg_match(/^(.*)some_string(.*)$/, $text, $matches); always seems to find the *last* occurrence of some_string and not the *first* (I would need the first). There is certainly a way to write another version where one looks at every single character when going through $text, but this would make the code much more complex. I wonder, if there is a faster *and* simple way to do the same thing. Is there btw a script freely available, which can parse PHP code and check for errors ? Any help is highly appreciated. Winfried -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping control M character (^M)
Philip Hallstrom wrote: Hello All, I'm having some issues with carriage returns. Specifically the control M character (^M). I have attempted to clean and validate the file I'm creating. Here's the code. while ($row = mysql_fetch_array($result)){ // assign and clean vars $artist = trim($row[artist]); $tdDate = trim($row[start_date]); $venue = trim($row[venue]); $city = trim($row[CITY]); $state = trim($row[STATE]); $country = trim($row[COUNTRY]); $tdId = trim($row[td_id]); // create string $line = $artist|||$tdDate||$venue|$city|$state|$country|$tdId\n; // validate the string if(preg_match(/.*.|||.*.||.*.|.*.|.*.|.*.|.*.n\//, $line)){ // record is correct so write line to file fwrite($handle,$line); } } So ^M slips right by trim and my preg_match line. Where is the carriage return appearing in your line of output? Trim will remove these, but only at the beginning/end of a string so if $artist = Paul\rNowosielski that won't get cleaned up... Maybe run them through ereg_replace() using [\n\r] as a pattern? Or maybe use the m modifier? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping control M character (^M)
Hello All, I'm having some issues with carriage returns. Specifically the control M character (^M). I have attempted to clean and validate the file I'm creating. Here's the code. while ($row = mysql_fetch_array($result)){ // assign and clean vars $artist = trim($row[artist]); $tdDate = trim($row[start_date]); $venue = trim($row[venue]); $city = trim($row[CITY]); $state = trim($row[STATE]); $country = trim($row[COUNTRY]); $tdId = trim($row[td_id]); // create string $line = $artist|||$tdDate||$venue|$city|$state|$country|$tdId\n; // validate the string if(preg_match(/.*.|||.*.||.*.|.*.|.*.|.*.|.*.n\//, $line)){ // record is correct so write line to file fwrite($handle,$line); } } So ^M slips right by trim and my preg_match line. Any ideas?? TIA -- Paul Nowosielski Webmaster CelebrityAccess.com Tel: 303.440.0666 ext:219 Cell: 303.827.4257 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping control M character (^M)
Hello All, I'm having some issues with carriage returns. Specifically the control M character (^M). I have attempted to clean and validate the file I'm creating. Here's the code. while ($row = mysql_fetch_array($result)){ // assign and clean vars $artist = trim($row[artist]); $tdDate = trim($row[start_date]); $venue = trim($row[venue]); $city = trim($row[CITY]); $state = trim($row[STATE]); $country = trim($row[COUNTRY]); $tdId = trim($row[td_id]); // create string $line = $artist|||$tdDate||$venue|$city|$state|$country|$tdId\n; // validate the string if(preg_match(/.*.|||.*.||.*.|.*.|.*.|.*.|.*.n\//, $line)){ // record is correct so write line to file fwrite($handle,$line); } } So ^M slips right by trim and my preg_match line. Where is the carriage return appearing in your line of output? Trim will remove these, but only at the beginning/end of a string so if $artist = Paul\rNowosielski that won't get cleaned up... Maybe run them through ereg_replace() using [\n\r] as a pattern? -philip -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
Your RegEx is probably fine... But you are probably missing a closing quote in lines BEFORE line 39, and PHP thinks everything up the the =^ is still part of some giant monster long string that spans multiple lines, and then it gets to the /head bit (because your opening quote is really a closing quote for something way earlier) and BAM! /head don't mean nothing useful in PHP... So all this discussion about security, strip_tags, and suchlike has nothing to do with your original problem :-) But, hey, ya learned some stuff, and that's never bad. :-) On Sun, June 5, 2005 6:36 pm, Dotan Cohen said: On 6/6/05, Richard Lynch [EMAIL PROTECTED] wrote: On Sun, June 5, 2005 7:05 am, Dotan Cohen said: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. The pointing is often off by a few chars... For starters, you're not correctly using \, imho. \ is special in PHP strings. \ is ALSO special in RegEx. So your \s should be \\s, in case PHP makes \s special someday. I think the ? in there will also mess you up, maybe, as that ends PHP parsing... Though it SHOULD be kosher inside a string... -- Like Music? http://l-i-e.com/artists.htm Could well be- I certainly didn't come up with that regex myself! What would you recommend to remove any tag, and the code enclosed? For instance: I love my tagbig/tag brother would become I love my brother? Dotan http://lyricslist.com/lyrics/pages/artist_albums.php/114/Chapman%2C%20Tracy Tracy Chapman Lyrics -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
On 6/7/05, Richard Lynch [EMAIL PROTECTED] wrote: Your RegEx is probably fine... But you are probably missing a closing quote in lines BEFORE line 39, and PHP thinks everything up the the =^ is still part of some giant monster long string that spans multiple lines, and then it gets to the /head bit (because your opening quote is really a closing quote for something way earlier) and BAM! /head don't mean nothing useful in PHP... So all this discussion about security, strip_tags, and suchlike has nothing to do with your original problem :-) But, hey, ya learned some stuff, and that's never bad. :-) On Sun, June 5, 2005 6:36 pm, Dotan Cohen said: On 6/6/05, Richard Lynch [EMAIL PROTECTED] wrote: On Sun, June 5, 2005 7:05 am, Dotan Cohen said: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. The pointing is often off by a few chars... For starters, you're not correctly using \, imho. \ is special in PHP strings. \ is ALSO special in RegEx. So your \s should be \\s, in case PHP makes \s special someday. I think the ? in there will also mess you up, maybe, as that ends PHP parsing... Though it SHOULD be kosher inside a string... -- Like Music? http://l-i-e.com/artists.htm Could well be- I certainly didn't come up with that regex myself! What would you recommend to remove any tag, and the code enclosed? For instance: I love my tagbig/tag brother would become I love my brother? Dotan http://lyricslist.com/lyrics/pages/artist_albums.php/114/Chapman%2C%20Tracy Tracy Chapman Lyrics PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php Like Music? http://l-i-e.com/artists.htm You're right! The problem wasn't the regex- it was in getting the parge to parse. I stated that in my second post- after I figured it out. And again in another post. But the thread changed subject, as I followed it... I didn't know that there could be / are virus for mobile phones. Of course I don't need all that fancy markup- truth is that I hate it. I was modifying someone else's script and didn't want to hack it up too much. But now I see that I'm better off removing all the tags like you suggest. Thanks to everyone who contributed to this thread. From you I learn. http://lyricslist.com/lyrics/pages/artist_albums.php/425/Red%20Hot%20Chili%20Peppers Red Hot Chili Peppers Lyrics -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping html tags
I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. Dotan Cohen http://lyricslist.com/lyrics/pages/artist_albums.php/416/Queen -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
Dotan Cohen wrote: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. Since what time does php gives the column of the error? It seems more like javascript error. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
On 6/5/05, Marek Kilimajer [EMAIL PROTECTED] wrote: Dotan Cohen wrote: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. Since what time does php gives the column of the error? It seems more like javascript error. My mistake. I was trying to parse wml. The problem wasn't in the php code, it was in the code not parsing! I just started another thread on that subject. Sorry for the false alarm. Dotan a href='http://lyricslist.com/lyrics/pages/artist_albums.php/321/Madonna'Madonna lyrics/a -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
On Sun, June 5, 2005 7:05 am, Dotan Cohen said: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. The pointing is often off by a few chars... For starters, you're not correctly using \, imho. \ is special in PHP strings. \ is ALSO special in RegEx. So your \s should be \\s, in case PHP makes \s special someday. I think the ? in there will also mess you up, maybe, as that ends PHP parsing... Though it SHOULD be kosher inside a string... -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping html tags
On 6/6/05, Richard Lynch [EMAIL PROTECTED] wrote: On Sun, June 5, 2005 7:05 am, Dotan Cohen said: I took this example from php.net, but can't figure out where I went wrong. Why does this: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); throw this error: syntax error at line 265, column 39: $text = preg_replace(/head(.|\s)*?(.|\s)*?\/head/i , , $text); ==^ It seems to be pointing to the 'e' is 'head'. Why? Thanks. The pointing is often off by a few chars... For starters, you're not correctly using \, imho. \ is special in PHP strings. \ is ALSO special in RegEx. So your \s should be \\s, in case PHP makes \s special someday. I think the ? in there will also mess you up, maybe, as that ends PHP parsing... Though it SHOULD be kosher inside a string... -- Like Music? http://l-i-e.com/artists.htm Could well be- I certainly didn't come up with that regex myself! What would you recommend to remove any tag, and the code enclosed? For instance: I love my tagbig/tag brother would become I love my brother? Dotan http://lyricslist.com/lyrics/pages/artist_albums.php/114/Chapman%2C%20Tracy Tracy Chapman Lyrics -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping of the last character
I have a large group of email addesses serperated by commas. I need to trim off the very last comma $recipients = [EMAIL PROTECTED],[EMAIL PROTECTED],[EMAIL PROTECTED], Also how would I add a space after every comma? to give [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] many thanks, Ross -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping of the last character
$recipients = '[EMAIL PROTECTED],[EMAIL PROTECTED],[EMAIL PROTECTED],'; echo str_replace(',', ', ', substr($recipients, 0, -1)); - Original Message - From: Ross [EMAIL PROTECTED] I have a large group of email addesses serperated by commas. I need to trim off the very last comma $recipients = [EMAIL PROTECTED],[EMAIL PROTECTED],[EMAIL PROTECTED], Also how would I add a space after every comma? to give [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] many thanks, Ross -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping of the last character
use substr($recipients,0,1); to remove the last char and ereg_replace(,, ,,$recipients); to add the spaces Hope this helps CK On Mon, Apr 18, 2005 at 12:05:42PM +0100, Ross wrote: I have a large group of email addesses serperated by commas. I need to trim off the very last comma $recipients = [EMAIL PROTECTED],[EMAIL PROTECTED],[EMAIL PROTECTED], Also how would I add a space after every comma? to give [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] many thanks, Ross -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping of the last character
On Mon, April 18, 2005 5:11 am, Chris Kay said: use substr($recipients,0,1); to remove the last char and ereg_replace(,, ,,$recipients); to add the spaces If the list is *REALLY* large, http://php.net/str_replace might be a bit faster. For sure, there's no need to haul out the Ereg cannon for something this simple. :-) Hope this helps CK On Mon, Apr 18, 2005 at 12:05:42PM +0100, Ross wrote: I have a large group of email addesses serperated by commas. I need to trim off the very last comma $recipients = [EMAIL PROTECTED],[EMAIL PROTECTED],[EMAIL PROTECTED], Also how would I add a space after every comma? to give [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] many thanks, Ross -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping negative number
I want to convert negative number to its positive equivalent. $num = -40; printf(Unsigned value is %u, $num); output is: Unsigned value is 4294967256 I have checked the manpages and %u seems the right format. Pls advise. -- roger --- Sign Up for free Email at http://ureg.home.net.my/ --- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping negative number
unsigned does not equal absolute value. $num = -40; print Num: $num\n; $num = abs($num); print ABS: $num\n; will display: Num: -40 ABS: 40 http://us2.php.net/manual/en/function.abs.php Justin - Original Message - From: Roger Thomas [EMAIL PROTECTED] To: php-general@lists.php.net Sent: Thursday, December 23, 2004 1:18 AM Subject: [PHP] stripping negative number I want to convert negative number to its positive equivalent. $num = -40; printf(Unsigned value is %u, $num); output is: Unsigned value is 4294967256 I have checked the manpages and %u seems the right format. Pls advise. -- roger --- Sign Up for free Email at http://ureg.home.net.my/ --- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping negative number
I believe this is because taking a value and displaying it as an unsigned value isn't the same as displaying the absolute value of a number. Ever take a calculator that does hex and decimal, enter a negative number then convert it to hex? There's no negative in hex, so you end up with something odd (like zero minus one equals max value of unsigned hex.. so -40 would be 40 below the max value or something... don't know exactly how it works but I'm guessing that's what you're getting here). You might want to just use abs() to get the absolute value of the number before displaying it. -TG = = = Original message = = = I want to convert negative number to its positive equivalent. $num = -40; printf(Unsigned value is %u, $num); output is: Unsigned value is 4294967256 I have checked the manpages and %u seems the right format. Pls advise. -- roger --- Sign Up for free Email at http://ureg.home.net.my/ --- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php ___ Sent by ePrompter, the premier email notification software. Free download at http://www.ePrompter.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping negative number
On Thursday 23 December 2004 16:18, Roger Thomas wrote: I want to convert negative number to its positive equivalent. $num = -40; printf(Unsigned value is %u, $num); output is: Unsigned value is 4294967256 I have checked the manpages and %u seems the right format. Pls advise. You've misunderstood what the unsigned representation means. The correct function to use is abs(). -- Jason Wong - Gremlins Associates - www.gremlins.biz Open Source Software Systems Integrators * Web Design Hosting * Internet Intranet Applications Development * -- Search the list archives before you post http://marc.theaimsgroup.com/?l=php-general -- /* No matter whether th' constitution follows th' flag or not, th' supreme court follows th' iliction returns. ollo -- Mr. Dooley */ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping text from a string
Hi, I use a piece of proprietary software at work that uses weird session ID strings in the URL. A sample URL looks like: http://zed2.mdah.state.ms.us/F/CC8V7H1JF4LNBVP5KARL4KGE8AHIKP1I72JSBG6AYQSMK8YF4Y-01471?func=find-b-0 The weird session ID string changes each time you login. Anyway, how can I strip out all of the text between the last / and the ? and insert it into another variable? So in this case, the end result would be a variable containing: CC8V7H1JF4LNBVP5KARL4KGE8AHIKP1I72JSBG6AYQSMK8YF4Y-01471 thanks! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping text from a string
Adam, Hi, I use a piece of proprietary software at work that uses weird session ID strings in the URL. A sample URL looks like: http://zed2.mdah.state.ms.us/F/CC8V7H1JF4LNBVP5KARL4KGE8AHIKP1I72JSBG6AYQSMK8YF4Y-01471?func=find-b-0 The weird session ID string changes each time you login. Anyway, how can I strip out all of the text between the last / and the ? and insert it into another variable? So in this case, the end result would be a variable containing: CC8V7H1JF4LNBVP5KARL4KGE8AHIKP1I72JSBG6AYQSMK8YF4Y-01471 You can use the parse_url() function to get just the path, and then use strrpos() to find the last / character. Finally, use substr() to extract the piece that you wanted. Example: $url_array = parse_url('http://zed2.mdah.state.ms.us/F/CC8V7H1JF4LNBVP5KARL4KGE8AHIKP1I72JSBG6AYQSMK8YF4Y-01471?func=find-b-0'); $slash_pos = strrpos($url_array['path'],'/'); $session_ID = substr($url_array['path'],$slash_pos+1); /sylikc -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping the query string from url
i have to write code for the following standard: 1. 13 links at the top and bottom of the page 2. those links reload the same page with a query string that will be part of a mysql query 3. all query strings that come from anywhere except from say www.test.com/ViewEvents.php get stripped out and ignored... anybody know how i should go about trying to do that?? i guess the main part im needing info on is how to strip the query_string unless it comes from the links on that page -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping content and parsing returned pages?
I have been looking everywhere for any tips or tutorials on, posting to separate websites and parsing the return values for input into a mysql db. I understand the parsing or stripping of html content from a page, but not how to post to a form on a different site and once the values are returned parse and redirect. I have read alittle about using CURL to perform some of this, but no real help there. I need to post to a login script, then once the page is processed, I will parsed the returned page for the data after logined. any help please? In expanding the field of knowledge, we but increase the horizon of ignorance. Henry Miller (1891-1980); US author. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004
Re: [PHP] stripping content and parsing returned pages?
Hello Dustin, Monday, March 15, 2004, 2:45:06 PM, you wrote: DW I need to post to a login script, then once the page is processed, I will DW parsed the returned page for the data after logined. any help please? One word for you: snoopy Oh and one URL too: http://snoopy.sourceforge.com It will do EXACTLY what you need. -- Best regards, Richard Davey http://www.phpcommunity.org/wiki/296.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping out all illegal characters for a folder name
Folks, I'm taking some user input, and creating a folder on the server. I'm already replacing with _, and stripping out a few known illegal characters (', , /, \, etc). I need to be sure that I'm stripping out every character that cannot be used for a folder name. What's the best way to do this? Do I have to manually come up with a comprehensive list of illegal characters, and then str_replace() them one by one? There's gotta be a better way to do this... Joseph -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping out all illegal characters for a folder name
Joseph Szobody wrote: Folks, I'm taking some user input, and creating a folder on the server. I'm already replacing with _, and stripping out a few known illegal characters (', , /, \, etc). I need to be sure that I'm stripping out every character that cannot be used for a folder name. What's the best way to do this? Do I have to manually come up with a comprehensive list of illegal characters, and then str_replace() them one by one? I think you should use the reverse solution : have a list of authorized characters and strip out all others ones. There's gotta be a better way to do this... Joseph -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping out all illegal characters for a folder name
* Thus wrote Sophie Mattoug ([EMAIL PROTECTED]): Joseph Szobody wrote: I'm taking some user input, and creating a folder on the server. I'm already replacing with _, and stripping out a few known illegal characters (', , /, \, etc). I need to be sure that I'm stripping out every character that cannot be used for a folder name. What's the best way to do this? Do I have to manually come up with a comprehensive list of illegal characters, and then str_replace() them one by one? I think you should use the reverse solution : have a list of authorized characters and strip out all others ones. I'd approach it the same way. preg_replace('/[^A-Za-z0-9_]/', '_', $dirname); Curt -- My PHP key is worn out PHP List stats since 1997: http://zirzow.dyndns.org/html/mlists/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping out all illegal characters for a folder name
Sorry for the reply to the reply, but OExpress won't let me reply to newsgroup posts... From: Sophie Mattoug [EMAIL PROTECTED] Joseph Szobody wrote: I'm taking some user input, and creating a folder on the server. I'm already replacing with _, and stripping out a few known illegal characters (', , /, \, etc). I need to be sure that I'm stripping out every character that cannot be used for a folder name. What's the best way to do this? Do I have to manually come up with a comprehensive list of illegal characters, and then str_replace() them one by one? I think you should use the reverse solution : have a list of authorized characters and strip out all others ones. That's exactly it. You need to change your way of thinking. When ever you are dealing with user input, you want to define what is GOOD and only allow that. If you try to define what is BAD, you'll leave something out. As for an answer: $safe_foldername = preg_replace('/[^a-zA-Z0-9]/','',$unsafe_foldername); That'll remove anything that's not a letter or number. Adapt to your needs. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Stripping out all illegal characters for a folder name
[snip] Sorry for the reply to the reply, but OExpress won't let me reply to newsgroup posts... [/snip] Had to laugh... :) AND BTW Happy Thanksgiving to all of our folks who celebrate that holiday! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping out all illegal characters for a folder name
On Thursday, November 27, 2003, at 03:12 AM, Curt Zirzow wrote: I'd approach it the same way. preg_replace('/[^A-Za-z0-9_]/', '_', $dirname); I totally agree with Curt here. Justin French -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping Decimals
I currently use number_format() and str_replace() to remove a , or $ if entered and reformat it as a price for an item. I've asked the user not to use decimals but some still do. How do I remove a decimal and anything after from a number in a varable? Thanks, Ed -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Stripping Decimals
[snip] I currently use number_format() and str_replace() to remove a , or $ if entered and reformat it as a price for an item. I've asked the user not to use decimals but some still do. How do I remove a decimal and anything after from a number in a varable? [/snip] http://www.php.net/explode $dollar = 100.28; $newDollar = explode(., $dollar); echo $newDollar[0]; -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Decimals
From: Ed Curtis [EMAIL PROTECTED] I currently use number_format() and str_replace() to remove a , or $ if entered and reformat it as a price for an item. I've asked the user not to use decimals but some still do. How do I remove a decimal and anything after from a number in a varable? $new_number = preg_replace('/\.[0-9]+/','',$old_number); I would do that first, then a $new_number = preg_replace('/[^0-9]/','',$new_number); afterwards to remove anything that's not a number from the string. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping Decimals
Thanks! Works like a charm. Ed On Tue, 4 Nov 2003, CPT John W. Holmes wrote: From: Ed Curtis [EMAIL PROTECTED] I currently use number_format() and str_replace() to remove a , or $ if entered and reformat it as a price for an item. I've asked the user not to use decimals but some still do. How do I remove a decimal and anything after from a number in a varable? $new_number = preg_replace('/\.[0-9]+/','',$old_number); I would do that first, then a $new_number = preg_replace('/[^0-9]/','',$new_number); afterwards to remove anything that's not a number from the string. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping comments
I'm trying to strip comments out of my code. I can get it to strip one section of comments but the problem comes in when I have more then one comment section to strip. I am using this: $code = preg_replace('/\/*(.*?)*\//is', '$1', $code) and need help fixing my regex. example: code 1 /* comment 1 */ code 2 /* comment 2 */ code 3 result (bad): = code 1 code 3 result (good): == code 1 code 2 code 3 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping comments
On Sun, Oct 05, 2003 at 04:46:16AM -0400, zzz wrote: : : I'm trying to strip comments out of my code. I can get it to strip one : section of comments but the problem comes in when I have more then one : comment section to strip. : : I am using this: $code = preg_replace('/\/*(.*?)*\//is', '$1', $code) and : need help fixing my regex. : : example: : : code 1 : /* comment 1 */ : code 2 : /* comment 2 */ : code 3 : : result (bad): : = : code 1 : code 3 : : result (good): : == : code 1 : code 2 : code 3 How about this: $code = preg_replace('|/\*.*\*/|msU', '', $code); -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping comments
You will run into more problems and there are many things you need to consider, for example /* in a string. But token_get_all() will parse php code for you and will make things much simpler. zzz wrote: I'm trying to strip comments out of my code. I can get it to strip one section of comments but the problem comes in when I have more then one comment section to strip. I am using this: $code = preg_replace('/\/*(.*?)*\//is', '$1', $code) and need help fixing my regex. example: code 1 /* comment 1 */ code 2 /* comment 2 */ code 3 result (bad): = code 1 code 3 result (good): == code 1 code 2 code 3 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] stripping comments
Hey perfect Eugene, thanks -Original Message- From: Eugene Lee [mailto:[EMAIL PROTECTED] Sent: October 5, 2003 5:14 AM To: [EMAIL PROTECTED] Subject: Re: [PHP] stripping comments On Sun, Oct 05, 2003 at 04:46:16AM -0400, zzz wrote: : : I'm trying to strip comments out of my code. I can get it to strip one : section of comments but the problem comes in when I have more then one : comment section to strip. : : I am using this: $code = preg_replace('/\/*(.*?)*\//is', '$1', $code) and : need help fixing my regex. : : example: : : code 1 : /* comment 1 */ : code 2 : /* comment 2 */ : code 3 : : result (bad): : = : code 1 : code 3 : : result (good): : == : code 1 : code 2 : code 3 How about this: $code = preg_replace('|/\*.*\*/|msU', '', $code); -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping comments
On Sun, 5 Oct 2003 04:46:16 -0400, you wrote: I'm trying to strip comments out of my code. I can get it to strip one section of comments but the problem comes in when I have more then one comment section to strip. I am using this: $code = preg_replace('/\/*(.*?)*\//is', '$1', $code) and need help fixing my regex. As someone already mentioned, regexes aren't the right tool for this job. Consider: echo (/*); /* test */ And while that's unlikely in real code it is /possible/, and doing it the right way is so easy due to the tokenizer functions (http://www.php.net/manual/en/ref.tokenizer.php) that it would be foolish not to. The following script prints out it's own source code, sans comments (I use something like this to replace tabs with spaces). It's adapted from a fragment in the manual. It removes /* comments */, !-- comments -- and // comments ?php $incoming = file_get_contents ($PATH_TRANSLATED); echo (strip_comments ($incoming)); function strip_comments ($in) { $out = ''; $tokens = token_get_all ($in); foreach ($tokens as $token) { if (is_string ($token)) { $out .= $token; } else { list ($id, $text) = $token; switch ($id) { case T_INLINE_HTML : $out .= preg_replace ('/!--(.|\s)*?--/', '', $text); break; case T_COMMENT : case T_ML_COMMENT : break; default : $out .= $text; break; } } } return ($out); } ? I'm reasonably certain I can get away with using a regex to strip HTML comments because SGML/XML are stricter on the placing of angle brackets. If anyone can come up with a case that breaks the regex I'll take a shot at an XSLT-based fix. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping out and URL hacking characters from a URL
Hi All-- Does anyone have a function or something they have already written to remove any URL hacking characters, mainly the single quote, but I'm looking for a nice function to filter my _GET variables against. Gotta protect the database...ya know :) TIA- Matt -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Stripping out and URL hacking characters from a URL
Hi All-- Does anyone have a function or something they have already written to remove any URL hacking characters, mainly the single quote, but I'm looking for a nice function to filter my _GET variables against. Gotta protect the database...ya know :) TIA- Matt -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Stripping out and URL hacking characters from a URL
Matt Babineau mailto:[EMAIL PROTECTED] on Tuesday, August 19, 2003 8:10 AM said: Does anyone have a function or something they have already written to remove any URL hacking characters, mainly the single quote, but I'm looking for a nice function to filter my _GET variables against. Gotta protect the database...ya know :) Does www.php.net/addslashes not suit your needs? c. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Stripping out and URL hacking characters from a URL
From: Matt Babineau [EMAIL PROTECTED] Does anyone have a function or something they have already written to remove any URL hacking characters, mainly the single quote, but I'm looking for a nice function to filter my _GET variables against. Gotta protect the database...ya know :) Just escape your single quotes. That's all you need to do. Either use addslashes() if your database requires quotes to be escaped with a backslash, or use a str_replace() function if your database requires single quotes to be escaped with a single quote. ---John Holmes... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] stripping newlines from a string
How to remove new line / CrLf from a string http://examples.weberdev.com/get_example.php3?count=3577 Sincerely berber Visit http://www.weberdev.com/ Today!!! To see where PHP might take you tomorrow. -Original Message- From: Charles Kline [mailto:[EMAIL PROTECTED] Sent: Monday, June 09, 2003 7:44 AM To: [EMAIL PROTECTED] Subject: [PHP] stripping newlines from a string Hi all, How would i go about stripping all newlines from a string? Thanks, Charles -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping newlines from a string
Yes. Is weird. I thought this would work too, but for some reason it was not removing them all. I wonder if re-saving the files with UNIX linebreaks (or try DOS) would have any effect. Will report back. - Charles On Monday, June 9, 2003, at 02:24 AM, Joe Pemberton wrote: http://www.php.net/str_replace $newstr = str_replace(\n, , $oldstr); - Original Message - From: Charles Kline [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, June 08, 2003 10:44 PM Subject: [PHP] stripping newlines from a string Hi all, How would i go about stripping all newlines from a string? Thanks, Charles -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping newlines from a string
On Sun, 2003-06-08 at 22:44, Charles Kline wrote: Hi all, How would i go about stripping all newlines from a string? Thanks, Charles Something like this: ?php error_reporting(E_ALL); $str = This string has unix\n and Windows\r\n and Mac\r line endings.; $new_str = preg_replace('/[\n\r]+/', '', $str); echo $str; $new_str; ? Good luck, Torben -- Torben Wilson [EMAIL PROTECTED]+1.604.709.0506 http://www.thebuttlesschaps.com http://www.inflatableeye.com http://www.hybrid17.com http://www.themainonmain.com - Boycott Starbucks! http://www.haidabuckscafe.com - -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping newlines from a string
On Mon, 9 Jun 2003, Charles Kline wrote: Yes. Is weird. I thought this would work too, but for some reason it was not removing them all. I wonder if re-saving the files with UNIX linebreaks (or try DOS) would have any effect. Will report back. $str = str_replace (array(\r, \n), '', $str); Regards, Philip On Monday, June 9, 2003, at 02:24 AM, Joe Pemberton wrote: http://www.php.net/str_replace $newstr = str_replace(\n, , $oldstr); - Original Message - From: Charles Kline [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, June 08, 2003 10:44 PM Subject: [PHP] stripping newlines from a string Hi all, How would i go about stripping all newlines from a string? Thanks, Charles -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping newlines from a string
Hi all, How would i go about stripping all newlines from a string? Thanks, Charles -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping slashes before insert behaving badly
Hi all, I am inserting data from a form into a mySQL database. I am using addslashes to escape things like ' in the data input (this is actually being done in PEAR (HTML_QuickForm). The weird thing is that the data gets written into the table like: what\'s your problem? WITH the slash. I am not sure what to modify to fix this so the literal slash is not written. Thanks, Charles -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] stripping slashes before insert behaving badly
I am inserting data from a form into a mySQL database. I am using addslashes to escape things like ' in the data input (this is actually being done in PEAR (HTML_QuickForm). The weird thing is that the data gets written into the table like: what\'s your problem? WITH the slash. I am not sure what to modify to fix this so the literal slash is not written. You're running addslashes() twice, somehow. Magic_quotes_gpc is probably on and you're escaping the data again. I would think PEAR would account for that, but I guess not. ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping slashes before insert behaving badly
John, You are right, something was adding the additional slash. I removed the addslashes() and it fixed the problem. Something I am doing must already be handling that... will step through the code AGAIN and see if I can find it. - Charles On Monday, March 17, 2003, at 12:19 PM, John W. Holmes wrote: I am inserting data from a form into a mySQL database. I am using addslashes to escape things like ' in the data input (this is actually being done in PEAR (HTML_QuickForm). The weird thing is that the data gets written into the table like: what\'s your problem? WITH the slash. I am not sure what to modify to fix this so the literal slash is not written. You're running addslashes() twice, somehow. Magic_quotes_gpc is probably on and you're escaping the data again. I would think PEAR would account for that, but I guess not. ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping slashes before insert behaving badly
if Magic_quotes_gpc in you php.ini is set to 'on', php will automatically escape(add slashes) for you. Foong Charles Kline [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] John, You are right, something was adding the additional slash. I removed the addslashes() and it fixed the problem. Something I am doing must already be handling that... will step through the code AGAIN and see if I can find it. - Charles On Monday, March 17, 2003, at 12:19 PM, John W. Holmes wrote: I am inserting data from a form into a mySQL database. I am using addslashes to escape things like ' in the data input (this is actually being done in PEAR (HTML_QuickForm). The weird thing is that the data gets written into the table like: what\'s your problem? WITH the slash. I am not sure what to modify to fix this so the literal slash is not written. You're running addslashes() twice, somehow. Magic_quotes_gpc is probably on and you're escaping the data again. I would think PEAR would account for that, but I guess not. ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping %20 and other characters from query string
Hello, Forgive me if this is an obvious question, but I am passing a value (a string with spaces and quotations) back in a query string and do not know how to strip the extra characters that have been placed into it. For example. $value = Sarah's Test Page query string = mypage.php?value=Sarah\\\'s%20Test%20Page echo $value = Sarah\\\'s%20Test%20Page What is the command to strip out these extra space and escape characters so that when I echo $value it prints out Sarah's Test Page? Much Appreciated, s. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping %20 and other characters from query string
Try these: http://www.php.net/manual/en/function.urldecode.php http://www.php.net/manual/en/function.rawurldecode.php HTH, Jason k Larson Sarah Gray wrote: Hello, Forgive me if this is an obvious question, but I am passing a value (a string with spaces and quotations) back in a query string and do not know how to strip the extra characters that have been placed into it. For example. $value = Sarah's Test Page query string = mypage.php?value=Sarah\\\'s%20Test%20Page echo $value = Sarah\\\'s%20Test%20Page What is the command to strip out these extra space and escape characters so that when I echo $value it prints out Sarah's Test Page? Much Appreciated, s. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] stripping %20 and other characters from query string
Sarah, There are a couple functions that could do this for you. Probably the fastest one for your example would be as follows. $NewString = str_replace('%20', ' ', $value); // Removes the %20 characters $NewString = str_replace '\', '', $NewString); // Removes \ character echo $NewString; http://www.php.net/manual/en/function.str-replace.php On Thursday, February 6, 2003, at 03:39 PM, Sarah Gray wrote: Hello, Forgive me if this is an obvious question, but I am passing a value (a string with spaces and quotations) back in a query string and do not know how to strip the extra characters that have been placed into it. For example. $value = Sarah's Test Page query string = mypage.php?value=Sarah\\\'s%20Test%20Page echo $value = Sarah\\\'s%20Test%20Page What is the command to strip out these extra space and escape characters so that when I echo $value it prints out Sarah's Test Page? Much Appreciated, s. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] stripping spaces from a string
Hi, What's the best and easiest way to strip all the spaces from a string? do i use regular expressions for it? TIA, J. Jule Slootbeek [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php