Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   небольшой вопрос (https://forum.antichat.xyz/showthread.php?t=139261)

rubik-nerubik 03.09.2009 23:29

небольшой вопрос
 
как мне реализовать путём пхп
такое
есть строка:
abadada
в неё надо вставить символ |, а именно так:
a|b|a|d|a|d|a

scrat 03.09.2009 23:42

ну тут либо циклом идти с запоминанием символов, либо преобразовывать в массив, и в него добавлять элементы(array merge какой-нибудь)

rubik-nerubik 03.09.2009 23:45

ну мож набросаешь?

scrat 03.09.2009 23:49

не, это как-то заёбно, лучше юзать что-то типа:

PHP код:

function insert_char($index$str$char//добавляет символ $char в строку $str на позицию $index
{
    
$str_prev substr($str$index, -$index);
    
$str_next substr($str$indexstrlen($str) - $index);
    return 
$str_prev.$char.$str_next//возвращаем новую строку, не меняя предыдущую



rubik-nerubik 03.09.2009 23:53

че-то как-то отказывается работать) на денвере точно)

Kaimi 04.09.2009 00:01

PHP код:

$str 'fsdgssdhs';
$str preg_replace('/(.{1})/''$1|'$str);
print 
substr($str0strlen($str)-1); 


rubik-nerubik 04.09.2009 00:02

каими респект и уважуха)

Sharky 04.09.2009 00:07

PHP код:

$str 'abadada';
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
$imp implode("|"$chars);

echo 
$imp


Solker 04.09.2009 13:32

Тоже предложу свой вариант ответа =)
Зачем регулярные, любая строка это массив.

PHP код:

$str 'abadada';
for(
$i=0$i<strlen($str); $i++) 
   
$finish .= $str[$i]."|";
echo 
trim($finish,'|'); 



Время: 03:57