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 Jerry Stuckle on 09/22/07 19:11

Steve wrote:
> <dkirkdrei@yahoo.com> wrote in message
> news:1190475589.522207.39050@o80g2000hse.googlegroups.com...
>> On Sep 22, 11:29 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>>> dkirkd...@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-Hidequoted 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\\weinig 05882.pdf
>>>> close but the end is still killing me...
>>> That's because your starting string is NOT VALID! See my post above.
>>>
>>> Get the string from the database and try parsing it. You'll get a much
>>> different result.
>>>
>>> --
>>> ==================
>>> Remove the "x" from my email address
>>> Jerry Stuckle
>>> JDS Computer Training Corp.
>>> jstuck...@attglobal.net
>>> ==================- Hide quoted text -
>>>
>>> - Show quoted text -
>> My problem is that the string coming from the database as variable
>> with 2 slashes in the front and 1 slash between each directory. Once
>> the variable comes from the db, I am passing it on to a javascript. If
>> I pass the variable as is, the script will not work but if I double up
>> on the slashes everything works fine. So, I have to take the file path
>> that is coming out of the db and double up on the slashes. Using only
>> php, everything works fine with the slashes the way they are.
>
>
> gotcha...it's just hard to express for the purposes of posting here what
> jerry would consider a *valid* string (whatever that means), so that we have
> something to work with. is that about right?
>
>

Steve,

In this case "invalid" would be a backslash NOT followed by a valid
escaped character.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

 

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

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