[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подсчет и вставка в заголовок
dager12
Как после определенного числа символов в заголовке,вставить свой символ,но что бы текст заголовка после того символа продолжался дальше?



Спустя 2 минуты, 25 секунд (1.10.2011 - 16:08) jetistyum написал(а):
взять строку заголовка, отрезать от нее часть до символа "№n" .. вставить свой и конкатенировать с оставшейся строкой.

Спустя 10 минут, 21 секунда (1.10.2011 - 16:19) Winston написал(а):
Как-то так
$str = 'определенная строка';
$ins = '{вставить}';
$start = 10;
$length = 10;
echo substr_replace($str, substr($str, $start, $length) . $ins . substr($str, $start + $length), $start);

Спустя 45 минут, 50 секунд (1.10.2011 - 17:05) dager12 написал(а):
Цитата (jetistyum @ 1.10.2011 - 13:08)
конкатенировать с оставшейся строкой.

Как раз из за этого и ступор был)

Спустя 2 минуты, 43 секунды (1.10.2011 - 17:07) dager12 написал(а):
Цитата (Winston @ 1.10.2011 - 13:19)
Как-то так
$str = 'определенная строка';
$ins = '{вставить}';
$start = 10;
$length = 10;
echo substr_replace($str, substr($str, $start, $length) . $ins . substr($str, $start + $length), $start);

Спасибо работает,но когда ставлю больше 10,то появляются два знака вопроса по бокам вставляемого текста или тега.Или я не совсем понял как это работает?

Спустя 2 минуты, 17 секунд (1.10.2011 - 17:10) Winston написал(а):
У тебя какая кодировка файла? UTF-8 ?

Спустя 6 минут, 33 секунды (1.10.2011 - 17:16) dager12 написал(а):
Цитата (Winston @ 1.10.2011 - 14:10)
У тебя какая кодировка файла? UTF-8 ?

Да,все нормально пока не укажу больше чем 10

Спустя 55 минут, 9 секунд (1.10.2011 - 18:11) Winston написал(а):
Ну теперь так должно заработать
Свернутый текст
/**
* $str - Строка в которой нужно вставить подстроку
* $ins - Строка которую нужно вставить
* $after - После какого символа (принимает число)
*/

function insBetween($str, $ins, $after)
{
$lenhIns = mb_strlen($ins, 'UTF-8');
$lenStr = mb_strlen($str, 'UTF-8');

$first = mb_substr($str, 0, $after, 'UTF-8');
$firstP = mb_substr($str, $after, $lenIns, 'UTF-8');

$secP = mb_substr($str, $after, $lenStr, 'UTF-8');
return substr_replace($str, $first . $firstP . $ins . $secP, 0);
}

echo insBetween('Определенная строка', '{строка замены}', 10);

Спустя 19 минут, 56 секунд (1.10.2011 - 18:31) neadekvat написал(а):
Winston, @param пропустил в описании.

Спустя 1 минута, 33 секунды (1.10.2011 - 18:33) Winston написал(а):
Цитата (neadekvat @ 1.10.2011 - 18:31)
Winston, @param пропустил в описании.

PHP-Doc плохо знаю sad.gif

Спустя 3 минуты, 44 секунды (1.10.2011 - 18:36) neadekvat написал(а):
Цитата (Winston @ 1.10.2011 - 19:33)
PHP-Doc плохо знаю

Че там знать.
/**
* Краткое описание
*
* Полное описание, более подробное, развернутое,
* с комментарием и мб еще какой-нибудь фигней
*
*
@param string Первый аргумент
*
@param string|array Второй аргумент
*
@param int Третий аргумент
*
*
@return string|bool Возвращаемое значение
*/

Это основное. Все остальное - это такие же "поля", которые вполне понятно описаны на сайте php-doc.

Спустя 46 минут, 18 секунд (1.10.2011 - 19:23) dager12 написал(а):
Цитата (Winston @ 1.10.2011 - 15:11)
Ну теперь так должно заработать
Свернутый текст
/**
* $str - Строка в которой нужно вставить подстроку
* $ins - Строка которую нужно вставить
* $after - После какого символа (принимает число)
*/

function insBetween($str, $ins, $after)
{
$lenhIns = mb_strlen($ins, 'UTF-8');
$lenStr = mb_strlen($str, 'UTF-8');

$first = mb_substr($str, 0, $after, 'UTF-8');
$firstP = mb_substr($str, $after, $lenIns, 'UTF-8');

$secP = mb_substr($str, $after, $lenStr, 'UTF-8');
return substr_replace($str, $first . $firstP . $ins . $secP, 0);
}

echo insBetween('Определенная строка', '{строка замены}', 10);

Работает как часы.Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.