За последние 24 часа нас посетили 18979 программистов и 1635 роботов. Сейчас ищут 840 программистов ...

Аналог функции pos из Делфи - в пхп?

Тема в разделе "PHP для новичков", создана пользователем Corleone, 21 июн 2008.

  1. Corleone

    Corleone Активный пользователь

    С нами с:
    21 июн 2008
    Сообщения:
    4
    Симпатии:
    0
    В Делфи есть функция pos , которая возвращает позицию вхождения подстроки в строку. Есть ли что то аналогичное в пхп?
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
  3. Corleone

    Corleone Активный пользователь

    С нами с:
    21 июн 2008
    Сообщения:
    4
    Симпатии:
    0
    А аналог делфийской функции StringReplace ?
     
  4. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
  5. Corleone

    Corleone Активный пользователь

    С нами с:
    21 июн 2008
    Сообщения:
    4
    Симпатии:
    0
    str_replace вроде заменяет все вхожжения подстроки в строке. А нужно что бы заменяло первое вхождение (или и-тое).
     
  6. Corleone

    Corleone Активный пользователь

    С нами с:
    21 июн 2008
    Сообщения:
    4
    Симпатии:
    0
    то есть нужно реализовать такой алгоритм:

    МАССИВ=array("a","b","c","d");
    ЕСЛИ В СТРОКЕ НАЙДЕНА ПОДСТРОКА %sub% ТО
    ЦИКЛ
    СТРОКА=ЗАМЕНИТЬ_В_СТРОКЕ(%sub%,МАССИВ[$i])
    $i++;
    КОНЕЦ ЦИКЛА
     
  7. NOmeR1

    NOmeR1 Активный пользователь

    С нами с:
    11 май 2008
    Сообщения:
    97
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.     $str = 'один+1=2, один+2=4, один+3=6';
    3.     $sub = 'один';
    4.     $array = array(1, 2, 3);
    5.     foreach($array as $value) {
    6.         if(($pos = strpos($str, $sub)) !== false) {
    7.             $str = substr_replace($str, $value, $pos, strlen($sub));
    8.         }
    9.     }
    10.     echo $str;
    11. ?>
    Держи)
     
  8. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Corleone

    у str_replace есть 4 необязательный аргумент - количество производимых замен. указав 1, произведете замену только первого вхождения
     
  9. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0