PHP: как разбить строку (части разделены слешем) и присвоить элементам массива?

maks_m
На сайте с 02.07.2013
Offline
101
6384

Строка: site.com/category/4321

Разбить и в массив, т.е.

arr[0] == 'category';

arr[1] == '4321';

Нужно перебирать символы и искать слеш, запоминая позиции и занося в элементы массива, или есть готовая функция?

TEXHuK
На сайте с 25.12.2006
Offline
80
#1

Курите функцию explode ( http://www.php.su/explode )

в связке с $_SERVER['REQUEST_URI']

как-то так: $arr_url=explode("/",$_SERVER['REQUEST_URI']);

W
На сайте с 09.04.2013
Offline
46
#2


$url='http://site.com/category/4321';
print_r(explode('/',parse_url($url,PHP_URL_PATH)));
N
На сайте с 05.12.2012
Offline
62
#3

при помощи pcre и preg_match можно разбить строку на части и сразу сделать ассоциативный массив с нужными ключами.

вот примерно так:

$str = 'foobar: 2008';

preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

результат:

Array

(

[0] => foobar: 2008

[name] => foobar

[1] => foobar

[digit] => 2008

[2] => 2008

)

LH
На сайте с 26.09.2013
Offline
89
#4
maks_m:
Строка: site.com/category/4321

Разбить и в массив, т.е.

arr[0] == 'category';
arr[1] == '4321';

Нужно перебирать символы и искать слеш, запоминая позиции и занося в элементы массива, или есть готовая функция?

Здравствуйте, вот решение. Функция explode принимает два параметра: что ищем и где ищем.

<?php

$url = "site.com/category/4321";

$url_array = explode('/',$url);

// Рспечатываем массив.

echo "<pre>";

print_r($url_array);

echo "</pre>";

// Результат:

// Array

// (

// [0] => site.com

// [1] => category

// [2] => 4321

// )

[Удален]
#5
maks_m:
Строка: site.com/category/4321

Для ссылок есть специальная функция: parse_url()

Используйте именно её в связке с explode.

VHS
На сайте с 28.09.2007
Offline
142
VHS
#6
il_rudov:
Для ссылок есть специальная функция: parse_url()
Используйте именно её в связке с explode.

Один вопрос - зачем здесь parse_url?

TF-Studio
На сайте с 17.08.2010
Offline
334
#7

Сборище извращенцев.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий