Удалить определенный текст из входных данных

webobid

Пользователь
Регистрация
03.05.13
Сообщения
2
Реакции
0
Баллы
1
У меня есть такой сценарий

Код:
function convertUrl($originalUrl){
$tmp1 = substr($originalUrl,0, strrpos($originalUrl,"/"));
$tmp2 = substr($tmp1,0, strrpos($tmp1,"/"));
$tmp3 = substr($originalUrl, strrpos($originalUrl,"/"), strlen($originalUrl));
return $tmp2 . $tmp3;}
echo convertUrl("siteurl/id124536/05/how_to_make_a_php_site");
Код (разметка): функция должна удалять из URL-адреса определенный текст, например:

siteurl/id124536*/05*/how_to_make_a_php_site
Теперь я хочу, чтобы, когда я ввожу siteurl/id124536*/05*/how_to_make_a_php_site, этот URL-скрипт работал, иначе не работал.
Удалить определенный текст из входных данных
[пример: когда я ввожу siteurl/id124536/how_to_make_a_php_site, этот URL-скрипт не работает]
 

wdyus

Пользователь
Регистрация
20.02.14
Сообщения
3
Реакции
0
Баллы
1
Это для раздела php, а не javascript.

Что ты пытаешься сделать? Насколько я понимаю, результатом вашей функции является удаление «/05» из строки, но в примере, который не работает, у вас нет «/05», а аргументом является результат, которого вы пытаетесь достичь, поэтому я не Я не понимаю.

Функция не работает, поскольку количество косых черт жестко запрограммировано в функции, и если вы измените это число, функция завершится ошибкой.

Думаю дальше будет лучше:

Код:
function convertUrl($originalUrl){ $urlArray = explode('/', $originalUrl); if (count($urlArray) === 4 ) { unset($urlArray[2]); } elseif (count($urlArray) === 3) { unset what pat of the url you want } return implode('/', $urlArray);
}
echo convertUrl("siteurl/id124536/05/how_to_make_a_php_site");

Код (разметка): Но у вас должна быть логика для разного количества косых черт.
function convertUrl($originalUrl){ $urlArray = explode('/', $originalUrl); unset($urlArray[2]); return implode('/', $urlArray); } echo convertUrl("siteurl/id124536/05/how_to_make_a_php_site");
Код (разметка):
 

lifesmeet

Пользователь
Регистрация
25.01.12
Сообщения
3
Реакции
0
Баллы
1
Код:
function convertUrl($originalUrl) { $cleanUrl = str_replace(array('[URL='https://wmlogs.com/yti/dwddwd3dodHRwOi8viOw']http://www[/URL].', 'http://'), '', $originalUrl); // remove protocol $urlArray = explode('/', $cleanUrl); // make an array from the string if (count($urlArray) === 4 ) { unset($urlArray[2]); // remove the 3d element if the array has 4 elements } return implode('/', $urlArray); //craete string from the array and return it
}
echo convertUrl("siteurl/id124536/05/how_to_make_a_php_site");
echo "<br>";
echo convertUrl("siteurl/id124536/how_to_make_a_php_site");
echo "<br>";
echo convertUrl("[URL='https://wmlogs.com/yti/dk22kdGVodHRwOi8vc2l0ZXVybC5jb20vaWQxMjQ1MzYvMDUvaG93X3RvX21ha2VfYV9waHBfcBHa']http://siteurl.com/id124536/05/how_to_make_a_php_site[/URL]");

Code (markup):
results:

siteurl/id124536/how_to_make_a_php_site

siteurl/id124536/how_to_make_a_php_site

siteurl.com/id124536/how_to_make_a_php_site


Is this the result you wanted or I didn't understand the purpose of the function?
 

aida1

Пользователь
Регистрация
14.03.11
Сообщения
18
Реакции
0
Баллы
1
Вторая функция не работает, поскольку не завершена. Вам пришлось сказать мне, какова ваша цель, потому что я не понимаю, что должна делать функция. Какой результат вы хотите от функции?

Это ваша цель: siteurl/id124536/how_to_make_a_php_site? Вы хотите, чтобы конечным результатом был URL-адрес с двумя косыми чертами «/», как здесь?

Знаете ли вы, какие URL-адреса будут аргументом функции? Какие URL-адреса должна изменить функция? Сколько косых черт в URL? Где находится строка, которую вы хотите удалить — всегда после первой косой черты или всегда после второй косой черты или меняется место? Всегда ли строка, которую вы хотите удалить, одна и та же?
 
Сверху Снизу