php часть строки



Автор Gram задал вопрос в разделе Другие языки и технологии

PHP замена части строки и получил лучший ответ

Ответ от Капитан Гугл[гуру]
srand; - бессмысленное выражение. Если хочешь вызвать функцию srand, то надо ставить скобки: srand();. И вызывать ее надо один раз в начале программы.
Этот цикл не может вызывать рекурсию по определению рекурсии. Тут нет рекурсивных функций. Может, что-то другое вызывает? А если рекурсию - то что в этом страшного? Или ты просто используешь умное слово, не зная, что оно означает?
А вообще - бредовое выражение от начала и до конца. Зачем тебе substr_replace, если ты пропускаешь значение, которое нужно заменить? И где ты сохраняешь результат замены?
Не самый лучший вариант, но тебе так будет понятнее:
srand();
while (stripos($message, "[dice]") !== false)
$message=substr_replace($message, rand(1,6), stripos($message, "[dice]"), 6);
не?

Ответ от David[гуру]
Задача заставила меня немного напрячься. Заинтриговала.. .
Вот решение:
$message = "Today is [dice] and do some [dice] and it would be [dice]";
$find = '[dice]';
// Разделить стринг по делиметеру в массив
$array = explode($find, $message);
// Начать итерацию изменяя указатель ключа
foreach($array as &$key){
$key = $key . rand(1, 7);
}
// Удалить последний элемент
array_pop($array);
// Вернуть аррэй назад в стринг пустым делимитером
$message = join('', $array);
// Результат: Today is 7 and do some 4 and it would be 3
print $message;

Ответ от Lexx918[гуру]

$str = '123 [dice] 456 [dice] 789';
$str = preg_replace_callback('/[dice]/i', create_function('', 'return rand(1, 6);'), $str);
var_dump($str);

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: PHP замена части строки

виды адресации excel
Как в любой другой электронной таблице для простоты в Microsoft Excel используются
подробнее...

Помогите разобраться с GET и POST в php.
Весь принцип их работы, да еще и с гайдом - долго писать, да может и не поместиться сюда. Они
подробнее...
спросили в Nomen dubium
PHP + MySQL запись в базу данных
Да, все отлично, строку запроса сделал, а выполнять запрос кто будет?)

Папаша
подробнее...

Что значит /^[a-zA-Z0-9s]{2,}$/ и как сделать что бы в строку помимо английских букв и цифр можно было писать русские?
Это регулярное выражение.
Вставить в квадратные скобки ещё и А-Яа-я без пробелов.
^ -
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Lines
Как найти определенную строку в txt файле, через php.
Если вся строка совпадает с нужным текстом то можно сделать так

$lines = file(\"тут путь
подробнее...
спросили в Строки
C#. Как разбить строку на символы, если нет разделителей?
Прежде всего я не понимаю цель этих действий, поскольку строка в C# (и не только) уже сама по себе
подробнее...
спросили в Кавычки
Как в php при выводе экранировать кавычки ""
функция addslashes -- Экранирует спецсимволы в строке

Описание:
string addslashes (
подробнее...

Не роботает imagePNG. (php)
А может у тебя аттрибут для записи в папку равен false. Проверь, так часто
подробнее...

Что делает .= (точка перед равно) в PHP
Точка приписывает одну строку к другой.
$str = "a" . "b" . "c";

А
$str .=
подробнее...

php + iis 6.0. Помогите пожалуйста!
Установка php на веб-сервер Microsoft IIS 6.0

Что нам понадобится для проведения
подробнее...
спросили в FIA GT
для чего сериализация массивов в PHP? пример использования, пожалуйсто:)
Несмотря на то что сериализация не очень часто используется в формах (гораздо чаще она применяется
подробнее...
спросили в Легко ли
Легко ли написать свою CMS сайта на PHP ?
если писать с нуля - несколько месяцев - тут я абсолютно согласен с Frisian.
вот только если
подробнее...

Подскажите чем заменить знак "%" в php. К примеру у меня есть таблица, в нем размеры в процентах даны. Вот их нужно убра
У вас логические связи нарушены, php тут ни при чем, раз проценты хранятся в БД. С таким же успехом
подробнее...

свой PHP Обфускатор
По-умолчанию берем текущий каталог, с помощью fs::build_tree получаем рекурсивный список всех
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*