You are here: Re: replace single slash with double slash « PHP Programming Language « IT news, forums, messages
Re: replace single slash with double slash

Posted by Steve on 09/22/07 18:41

"Jerry Stuckle" <jstucklex@attglobal.net> wrote in message
news:U6KdnUWe_eTaqGjbnZ2dnUVZ_ofinZ2d@comcast.com...
> dkirkdrei@yahoo.com wrote:
>> On Sep 22, 10:40 am, gosha bine <stereof...@gmail.com> wrote:
>>> dkirkd...@yahoo.com wrote:
>>>> On Sep 22, 4:28 am, gosha bine <stereof...@gmail.com> wrote:
>>>>> dkirkd...@yahoo.com wrote:
>>>>>> I am having a bit of trouble trying to double up on slashes in a file
>>>>>> path. What I am trying to do is very similar to the code below:
>>>>>> <?
>>>>>> $var = "\\wusais\Intranets\Intranets\fpdb\pdf\weinig\00505882.pdf";
>>>>>> $new = preg_replace("\\", "\\\", "$var");
>>>>>> ?>
>>>>>> Code above produces the following error:
>>>>>> Parse error: parse error, unexpected T_VARIABLE in c:\Inetpub\wwwroot
>>>>>> \pages\replace.php on line 12
>>>>>> In the end, $new needs to be: \\\\wusais\\Intranets\\Intranets\\fpdb\
>>>>>> \pdf\\weinig\\00505882.pdf
>>>>>> but it seems to be very difficult replacing slashes.
>>>>>> Any help would be greatly appreciated
>>>>> $var =
>>>>> "\\wusais\\Intranets\\Intranets\\fpdb\\pdf\\weinig\\00505882.pdf";
>>>>> echo strtr($var, array('\\' => '\\\\'));
>>>>> note that initially $var actually contains only single slashes,
>>>>> however
>>>>> you must write each slash twice because of php escaping rules.
>>>>> --
>>>>> gosha bine
>>>>> extended php parser ~http://code.google.com/p/pihipi
>>>>> blok ~http://www.tagarga.com/blok-Hide quoted text -
>>>>> - Show quoted text -
>>>> These file paths are coming from a database, they are all windows
>>>> paths and they reside on a company intranet so it is a "controlled"
>>>> environment. Every file path is structured just like \\wusais\Intranets
>>>> \Intranets\fpdb\pdf\weinig\00505882.pdf. For what I am trying to do, I
>>>> have to double up on all of the slashes which is really being a pain.
>>>> At this point, I believe I am going to try and explode the string to
>>>> remove all the slashes and then reassemble it with the correct number
>>>> of slashes.
>>> This doesn't matter where the string comes from. The code I posted above
>>>
>>> $var = strtr($var, array('\\' => '\\\\'));
>>>
>>> should work for the strings coming from the database as well.
>>>
>>> --
>>> gosha bine
>>>
>>> extended php parser ~http://code.google.com/p/pihipi
>>> blok ~http://www.tagarga.com/blok- Hide quoted text -
>>>
>>> - Show quoted text -
>>
>> the code:
>>
>> <?
>> $var = "\\wusais\Intranets\Intranets\fpdb\pdf\weinig\00505882.pdf";
>> echo strtr($var, array('\\' => '\\\\'));
>> ?>
>>
>> produces this:
>>
>> \\wusais\\Intranets\\Intranets\\fpdb\\pdf\\weinig05882.pdf
>>
>> close but the end is still killing me...
>>
>
> That's because your starting string is NOT VALID! See my post above.

NO SUCH THING AS AN INVALID STRING. his problem is understanding the
unexpected results. you already explained that to him, it just seems he's
still lost.

> Get the string from the database and try parsing it. You'll get a much
> different result.

php doesn't parse strings whenever it feels like it. the only reason you
have to escape strings *you* create in php is because you have the ability
to put variables in the strings and use octal,hex, and other special
character notation in the string...some of which you cannot use the keyboard
to produce in any other way. but, that's only when YOU are creating them.

if your path is coming from a db, php doesn't care what data type a field
is. if you assign a db field's value to a variable, php just assigns it.
this is quite different than you saying literally that $var = "some
$stringVariable". and that is interpreted differently than $var = 'some
$stringVariable'. one is parsed, the other, literal.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация