2009-08-12 3 views
0

У меня есть этот кодPHP str_replace

$cl_posturl = "https://post.craigslist.org/".str_replace('"','',$result[FORM][0][ACTION]); 

echo $cl_posturl."<br>\n"; 

Это если возвращающиеся

post.craigslist.org//sdo/S/ctd/csd/x/ 9FMALgak4Td10Bol/XRk68

это использовать для возврата

post.craigslist.org//sdo/S/ctd/csd/x/

, как я могу изменить код, чтобы вернуть его без этих 2 последних путей

+0

Возможно, вы получаете неверные данные в $ result [FORM] [0] [ACTION], пытаетесь ли вы напечатать этот массив? – inakiabt

ответ

0

Почему значение $ результата [FORM] [0] [действие]

изменение от
/SDO/S/CTD/csd/x/
до
/sdo/S/ctd/csd/x/9FMALgak4Td10Bol/XRk68
?

Я бы сначала понял, почему это произошло.

+0

[ФОРМА] => Массив ( [0] => Массив ( [ID] => "postingForm" [действие] => "/ SDO/S/CTD/CSD/х/vayNgFunjY5mPr9C/iNp0B" [Метод] => "пост" [ENCTYPE] => "многочастному/форм-данных" ) ) значение Действие теперь возвращается, что дополнительные данные. но при отправке на него мы получаем запрос 404 –

+0

: $ cl_posturl = "post.craigslist.org/".$result[FORM][0][ACTION]; echo $ cl_posturl. "
\ n"; и отправьте его здесь – inakiabt

1

Эй, сломал это в несколько шагов для легкого чтения, но его можно свести на один вызов, как только вы его поймете.

$initialString = '/sdo/S/ctd/csd/x/9FMALgak4Td10Bol/XRk68'; 
$removeOneLevel = substr($initialString, 0, strrpos($initialString, '/')); 
$removeSecondLevel = substr($removeOneLevel, 0, strrpos($removeOneLevel, '/')); 

$finalUrl = "https://post.craigslist.org".str_replace('"','', $removeSecondLevel); 
echo $finalUrl . "\n"; 

Надеюсь, что это поможет.

+0

О, BTW, я использовал $ initialString, а не $ result [FORM] [0] [ACTION], чтобы я мог проверить из командной строки. – NWCoder

+0

спасибо, что сработало. –