Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
TYMON
10 / 10 / 4
Регистрация: 17.06.2010
Сообщений: 384
1

Замена последних совпадающих символов

14.06.2019, 15:35. Просмотров 840. Ответов 2
Метки нет (Все метки)

Здравствуйте. Есть ли такая возможность средствами PHP решить следующую проблему?

есть много строк (покажу 3) вида:
http://site/site/site//site.php
http://site1/site1/site1//site1.php
http://site1/site1/site1//site1234.php

Необходимо заменить последнее совпадающее значение // на / . Простую замену я знаю как сделать с помощью str_replace, но тогда он же поменяет в двух местах.

Добавлено через 14 минут
Уточнение, если строка будет иметь вид http://site/site/site/site.php то чтобы первые // не стирались

Добавлено через 17 минут
Или например если у меня в одном месте адреса будет постоянно совпадать слова между / . Может можно сделать замену символов именно после нахождения указанных символов
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2019, 15:35
Ответы с готовыми решениями:

Замена последних символов в городах
Кто даст ссылку на готовый вариант. Есть большой список городов. В бд они хранятся так...

Замена центральной буквы в слове и последних символов в зависимости от длины слова
Добрый день. Помогите решить задачу, я только начинаю изучать php и пока что трудновато. Дан...

Замена совпадающих записей в файле
Вызываю скрипт с 2-мя параметрами: http://mysite.net/m2.php?name=USER&ip=96.45.2.3 скрипт...

Определение двух последних символов в текстовом поле
Всем доброго времени суток. У меня есть текстовое поле, где вводятся цыфры, надо чтоб при нажатии...

Замена символов
У меня есть строка с ненужными мне знаками(это скобки(), пробел, знак сложения+, и знак -), их в...

2
skat9111
8 / 6 / 3
Регистрация: 27.09.2013
Сообщений: 79
14.06.2019, 15:41 2
TYMON,
PHP
1
2
3
$start =  dirname("http://site1/site1/site1//site1234.php");
$end = basename("http://site1/site1/site1//site1234.php");
echo $string = "{$start}/{$end}";
1
Строитель
489 / 323 / 141
Регистрация: 09.07.2018
Сообщений: 866
14.06.2019, 16:51 3
Лучший ответ Сообщение было отмечено TYMON как решение

Решение

TYMON,
PHP
1
2
3
4
5
6
7
$text = 'http://site/site/site//site.php
http://site1/site1/site1//site1.php
http://site1/site1/site1//site1234.php';
 
$text = preg_replace('~//([^/]*)$~m', '/$1', $text);
 
echo $text;
Демо PCRE
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2019, 16:51

Замена символов
Заменить все символы ch1 в строке ch2. <?php $string = "The quick brown fox jumped over the...

Замена символов
Доброго времени суток! Извиняюсь за глупый вопрос. Как заменить первый символ 'd' на последний...

Замена символов
переписываю компонент движка сайта и в компоненте есть пару строк которые копируют файлы ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru