Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 01:53:16

Страниц: [1] 2 3 4
Печать
Автор Тема: Регулярки  (Прочитано 2152 раз)
0 Пользователей и 1 Гость смотрят эту тему.
}/{EHR    ↓ 
23 Сентябрь, 2009, 09:20:48
НЕ ХУЕТА! ХУЕТА!

А что тут писать?
Группа: Адекваты

Карма: 4
Сообщений: 737
Сила слова: 0.54

Допустим у меня в тексте напечатано 15 "*", мне нужно заменить каждую звездочку разными символами. Подскажите мне какую-нибудь функцию (аналагичную ereg_replace, но которая заменяет лишь одну * в тексте а не все сразу)
Записан

krasun    ↓ 
23 Сентябрь, 2009, 10:12:56 , спустя 52 минуты 8 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

PHP

$string[mb_strpos($string, '*')] = $my_char;
 
Записан
}/{EHR    ↓ 
23 Сентябрь, 2009, 10:14:55 , спустя 1 минуту 59 секунд
НЕ ХУЕТА! ХУЕТА!

А что тут писать?
Группа: Адекваты

Карма: 4
Сообщений: 737
Сила слова: 0.54


PHP

$string[mb_strpos($string, '*')] = $my_char;
 
Объясни плиз
Записан

Dr.TRO    ↓ 
23 Сентябрь, 2009, 10:21:33 , спустя 6 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

элементарно ватсон ! str_replace
Записан

krasun    ↓ 
23 Сентябрь, 2009, 10:24:55 , спустя 3 минуты 22 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97


элементарно ватсон ! str_replace
он просил только один символ, а str_replace, заменяет все.
 


PHP

$string[mb_strpos($string, '*')] = $my_char;
 
Объясни плиз

$string - строка, в которой нужно заменить, mb_strpos($string, '*') - вернет позицию первой '*', значит мы можем использовать ее как индекс в $string.
 
можно переписать так
PHP

$starPosition = mb_strpos($string, '*');
 
$string[$starPosition] = 'c';
 
Записан
Dr.TRO    ↓ 
23 Сентябрь, 2009, 10:57:56 , спустя 33 минуты 1 секунду
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

исключительно сегодня и для вас :
PHP
<?php
$str = '***************';
$finded_count = substr_count($str, '*');
for( $i = 1; $i <= $finded_count ; $i++){
    $str = preg_replace('/[\*]{1}/i', rand(0, 100) . PHP_EOL, $str, 1);
}
echo $str;
?>
Microsoft Windows [Версия 6.0.6001]
(C) Корпорация Майкрософт, 2006. Все права защищены.
 
C:\Users\Администратор>cd ../../
 
C:\>php sploit.php
89
65
79
63
25
98
30
96
15
70
2
92
83
66
94
 
C:\>
Записан

krasun    ↓ 
23 Сентябрь, 2009, 11:00:49 , спустя 2 минуты 53 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

Dr.TRO,  вы читали Омара Хайяма?
Записан
Dr.TRO    ↓ 
23 Сентябрь, 2009, 11:03:53 , спустя 3 минуты 4 секунды
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

Да, очень люблю ...
Записан

}/{EHR    ↓ 
24 Сентябрь, 2009, 04:04:17 , спустя 17 часов 24 секунды
НЕ ХУЕТА! ХУЕТА!

А что тут писать?
Группа: Адекваты

Карма: 4
Сообщений: 737
Сила слова: 0.54

Спасибо всем большое, но есть еще один вопрос. Вот допустим я * меняю на пермененную в которой сдержится ", текст", как это правильно реализовать вот здесь?:
PHP
for( $i = 1; $i <= $finded_count ; $i++){
    $a = ", йцукен";
    $str = preg_replace('/[\*]{1}/i', $a, $str, 1);
}
« Последнее редактирование: 24 Сентябрь, 2009, 04:04:17 от }/{EHR » Записан

phpdude    ↓ 
24 Сентябрь, 2009, 04:56:14 , спустя 51 минуту 57 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20784
Сила слова: 1.66

это вообще полный пиздец ... /[\*]{1}/i
 

масломасляное.
 
вот этой штукой замени одну букву то уж .. http://ru2.php.net/manual/en/function.substr-replace.php
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Dr.TRO    ↓ 
24 Сентябрь, 2009, 05:28:29 , спустя 32 минуты 15 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

можно и так, но вот только по мойму регекспы лучше ...
Записан

phpdude    ↓ 
24 Сентябрь, 2009, 06:21:15 , спустя 52 минуты 46 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20784
Сила слова: 1.66


можно и так, но вот только по мойму регекспы лучше ...
это по-твоему, а по-моему что быстрее - то лучше :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Dr.TRO    ↓ 
24 Сентябрь, 2009, 06:36:18 , спустя 15 минут 3 секунды
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

напиши свой код который быстрее ... мой код который заменяет 10к * на
PHP
md5($str) . PHP_EOL
справляеться за 33 сек...
Спустя 59 секунд добавил

Спасибо всем большое, но есть еще один вопрос. Вот допустим я * меняю на пермененную в которой сдержится ", текст", как это правильно реализовать вот здесь?:
PHP
for( $i = 1; $i <= $finded_count ; $i++){
    $a = ", йцукен";
    $str = preg_replace('/[\*]{1}/i', $a, $str, 1);
}
PHP
$a = ", йцукен";
for( $i = 1; $i <= $finded_count ; $i++){
    $str = preg_replace('/[\*]{1}/i', $a, $str, 1);
}
такжеж вариант выбора с массива случайных элементов не забываем ;)
Записан

trim    ↓ 
27 Сентябрь, 2009, 04:27:38 , спустя 2 дня 21 час 51 минуту 20 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -21
Сообщений: 62
Сила слова: -33.87

/^[a-zA-Zа-яА-Я0-9]+$/  такая регулярка будет пахать?
Записан
Dr.TRO    ↓ 
27 Сентябрь, 2009, 10:24:04 , спустя 5 часов 56 минут 26 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 5
Сообщений: 254
Сила слова: 1.97

нет,  чо за а-яА-Я ?
Записан

Страниц: [1] 2 3 4
Печать
 

Перейти в: