Ниже приведенный пример работает, но медленно
<?php
$html = "Текст с большим количеством xxxxxxxxxxxxxxxxx";
$c = substr_count($html, 'x');
for ($i=1; $i<=$c; $i++) {
$a[($i-1)] = '/x/';
$b[($i-1)] = "x$i";
}
$html = preg_replace($a, $b, $html, 1);
echo $html;
?>
Какие еще есть варианты?
Буду благодарен любой ссылке по теме.
Спустя 8 минут, 58 секунд (19.01.2011 - 15:17) Evilsoul написал(а):
Тебе в диапазоне цифр или как, задай вопрос толково.
Спустя 10 минут, 26 секунд (19.01.2011 - 15:28) PavelB написал(а):
Вообщем, нужно в тексте эти символы пронумеровать.
Допустим текст такой:
блаблXаблаблаблаXXблатлыврXолытлфывмлоаывоXXXолтпитпттдл
нужно получить:
блаблX1аблаблаблаX2X3блатлыврX4олытлфывмлоаывоX5X6X7олтпитпттдл
Количество символов известно
Допустим текст такой:
блаблXаблаблаблаXXблатлыврXолытлфывмлоаывоXXXолтпитпттдл
нужно получить:
блаблX1аблаблаблаX2X3блатлыврX4олытлфывмлоаывоX5X6X7олтпитпттдл
Количество символов известно
Спустя 3 минуты, 40 секунд (19.01.2011 - 15:31) DedMorozzz написал(а):
держи такой вариант. Его явно можно упростить, но нету времени:
$a = ' $html = "Текст с большим количеством xxxxxxxxxxxxxxxxx"; ';
$a = preg_replace_callback('#(x*)#is',create_function('$matches','
$zzz = "";
$kol = str_split($matches[0]);
for ($i=0;$i<count($kol);$i++){
$zzz .= str_replace(\'x\',\'x\'.$i,$matches[0][$i]);
}
return $zzz;
'
),$a);
echo $a;//$html = "Текст с большим количеством x0x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16";
Спустя 5 минут, 50 секунд (19.01.2011 - 15:37) PavelB написал(а):
Cпасибо, DedMorozzz
Спустя 40 минут, 41 секунда (19.01.2011 - 16:18) PavelB написал(а):
Как не странно, мой скрипт и проще и работает быстрее.
На файле 2,6 мб ваш скрипт сдался.
У кого-нибудь еще есть предложения?
На файле 2,6 мб ваш скрипт сдался.
У кого-нибудь еще есть предложения?
Спустя 15 минут, 32 секунды (19.01.2011 - 16:33) DedMorozzz написал(а):
действительно странно...я использую строковую замену, а в твоём варианте - регуляркой...
Спустя 1 год, 4 месяца, 2 дня, 3 часа, 22 минуты, 44 секунды (21.05.2012 - 18:56) Guest написал(а):
Скрытый текст |





Спустя 6 часов, 21 минута, 22 секунды (22.05.2012 - 01:17) walerus написал(а):
$html = "Текст с большим количеством xxxxxxxxxxxxxxxxx";
$array = str_split( $html );
$new_html = '';
$i = 1;
while( !empty( $array ) )
{
$word = array_shift( $array );
if ( $word == 'x' )
{
$new_html .= $word . $i;
$i++;
}
else
$new_html .= $word;
}
echo "|$new_html|";