[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    $str = 'href="site.ru';
    тут после = 3 варианта
    $re = 'foto.ru';
    preg_replace("|href= и тут перебрать 3 вар|","href=$re",$str);
    тоже 3 вар
     
    #15341 DoN, 2 Jun 2010
    Last edited: 2 Jun 2010
  2. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Искренне сочувствую твоим заказчицам.
     
    1 person likes this.
  3. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    Я в PHP на уровне дилетанта знаю. А вот сишку прекрастно)

    Писал много известых софтин. Например http analyzer
     
  4. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    Если я тебя правильно понял, то держи:
    PHP:
    $str1='href="текст';
    $str2='href=';
    $str3='href="';
    //$str4=''; //добавляй сколкьо хочешь проверок - все будет проверенно в цикле, нумеруй их как strN

    $url='site.ru';
    $dst="\${1}$url";
    for(
    $i=1;$i<=3;$i++)
    {
        
    $s=str.$i;
        echo 
    preg_replace("/(href=)([\"|\']+)(\w*)/",$dst,$$s)."<br>";
    }
    Но учти, после href= идет либо " либо ' а потом текст
    Т.е. ты хочешь отловить все попадания " или ' сразу после = и перед текстом ссылки?) Кароч, хочешь инъект не пустить?
     
    #15344 4upakabr0, 2 Jun 2010
    Last edited: 3 Jun 2010
  5. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    [Mысли в слух]
    Забавно, учитывая то, что твой возраст <= 16, а первая версия http analyzer увидела свет в 2004 году.
    Сколько тебе тогда было?
    10? или 9?
    [/Mысли в слух]
     
    1 person likes this.
  6. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    во первых перебрать три варианта- это надо цикл организовывать
    во вторых чтоб что то перебиралось надо с переменной соединять, в третьих.....короче я тут ниодно правильное действие не увидел- сформулируй плиз четко задачу и получиш готовый код (так проще) только без этих переменных а на словах что сколько раз и как это должно делаться (авторизирование не тредуеться на сайте и т д) а так исправлять каждую ошибку- можно до утра
     
  7. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    как я понял, ему надо ссылку заменить, а ссылка задаётся одним из трёх вариантов:
    href="index.htm"
    href='index.htm'
    href=index.htm

    но не обязательно, что index.htm...
     
  8. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    Блин значит в этом топике только Kusto тупой и ничего недогоняет, если принять за истинну первый пост ТС
    на что заменит? как заменит? сколько элемментов в массиве я так и недогнал(((, а вот такую регулярку- увы еще не придумали(((
    Code:
    preg_replace("|href= и тут перебрать 3 вар|","href=$re",$str);
     
    #15348 Kusto, 3 Jun 2010
    Last edited: 3 Jun 2010
  9. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    первый пост ТС можешь забыть, его раскурили, походу.
    Щас обсуждается другой "еще один" вопрос, а именно:

     
  10. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    Да, согласен с Кусто, тут хер чо проссышь на самом-то деле. ТС - еще раз и внятнее расскажи что хочешь. Я тебя понял, но мне кажецо, что не совсем так)
     
  11. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    . тогда мож функцию preg_grep() всетаки заюзать????, получить массив и уж тогда что то в нем заменять на РАЗНЫЕ варианты а не так тупо 123 меняем на 234 (здесь смысл теряеться нет?)
     
    #15351 Kusto, 3 Jun 2010
    Last edited: 3 Jun 2010
  12. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    Обьясняю еще раз.
    Я парсю html страницу и мне нужно заменить все 3 варианта href, а именно:
    1) href=/
    2) href='/'
    3) href="/"
    Замена будет на 1 мой текст.
    preg_replace('|href="тут надо сделать перебор 3 вариантов"/"и тут еще один перебор"|', 'href="http://site.ru/"', $page)
    Т.е. из массива берётся перебор и поиск 3 вариантов и замена на текст
     
    #15352 DoN, 3 Jun 2010
    Last edited: 3 Jun 2010
  13. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    PHP:
      $str 'какой-то <a href=/>текст</a>; какой-то <a href=\'/\'>текст</a>; какой-то <a href="/">текст</a>;';
      echo 
    HTMLSpecialChars($str) . '<br />';
      echo 
    HTMLSpecialCharspreg_replace('/href=[\'\"]?\/[\'\"]?/''href="http://site.ru/"'$str) );
    так что ли?
     
  14. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    DoN, в мануале всё же есть: http://www.php.net/manual/en/function.preg-replace.php
    смотри Example #2... Создаёшь массив того, что заменяешь и массив того, чем заменяешь..
     
  15. crashwin

    crashwin New Member

    Joined:
    3 Aug 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Не нашел на эту тему ничего интересного, интересует такой вопрос: возможно ли импортировать качу DLE в браузер средствами PHP? Есть скрипт DLE News Adder и 20 сайтов на DLE с капчей при добавлении новостей. Подскажите кто знает как и можно ли вообще сделать импорт;) По моим представлениям это не трудно, стягиваешь картинку с сайта, под ней сделать поле для ввода текста и данные из этого поля слать в соответствующее поле на сайте. Но мне не хватает опыта в этих делах, дайте какой то мануальчик на эту тему.
     
  16. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    Вопрос по preg_replace

    Как сделать замену найдегого текста на ничто? Ну чтобы просто удалялось
     
  17. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    <?php
    $string = 'ололол пщ пщ ололололопщ';
    echo preg_replace('/пщ/', '', $string);
    ?>
     
    1 person likes this.
  18. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    $str = preg_replace ('/pattern/', '', $str);
    А также str_replace()
     
    1 person likes this.
  19. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    Спс)
     
  20. dimm666

    dimm666 New Member

    Joined:
    29 Mar 2010
    Messages:
    16
    Likes Received:
    2
    Reputations:
    5
    Ну, эта... http://antigate.com/panel.php?action=api - кури API.
     
Thread Status:
Not open for further replies.