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

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

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

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

    Joined:
    10 Nov 2007
    Messages:
    35
    Likes Received:
    11
    Reputations:
    -12
    Всм? Я пишу "lol.php" он только проматривает файл а редоктировать и т.д не хочет вообще нечего не показывает...и не пишет...
     
  2. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Ну во-первых форма у тебя отправляет данные на editor.php .Во-вторых код очень не читабельный...код вообще какой-то странный. Например читать файл у тебя отказывается по той причине что чтение файла у тебя находится внутри условия удаления файла (строчка 34), имхо..т.к. времени щас нет разбираться с твоим кодом))....и вообще советовал бы тебе ставить везде фигурные скобки. Сделал более менее читабельным код ==> http://slil.ru/25619759
     
  3. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    у меня вопрос по регулярным выражениям...какого вида будет строка что бы находила в коде выражения вида:
    |admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|
    т.е
    |буквы и цифры|цифры от 0 до 9 и буквы от a до f |

    Таким будет выражение? '#\\|"(\S+)"\\|"(\S+)"\\|#'
     
  4. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    PHP:
    <?php
    $s
    ="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|";
    preg_match("#(\|\w*\|\w{32}\|)#",$s,$p);
    echo 
    $p[1];
    ?>
    это так навскидку
     
    3 people like this.
  5. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Как я понял, вторая часть - это md5?
    Тогда точнее так:
    PHP:
    <?php
    $s
    ="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|"
    print 
    preg_match("/^\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|$/",$s,$p);  //это чтобы сравнить строку на точное совпадение с шаблоном

    print '<br>'.$p[1].' '.$p[2].'<br>';

    preg_match_all("/\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|/",$s,$p);  //это чтобы найти в строке все такие подходящие по шаблону подстроки

    print_r($p);
    ?>
     
    #2425 d_x, 26 Mar 2008
    Last edited: 26 Mar 2008
    1 person likes this.
  6. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    А у кого нибудь есть примеры скрипта, написаного с функцией работы через proxy?
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Zircool,
    PHP:
    <?php
            $proxy 
    '127.0.0.1';
            
    $port '12444';
            
    $ct curl_init();
            
    curl_setopt($ctCURLOPT_URL'http://x3k.ru');
            
    curl_setopt($ctCURLOPT_RETURNTRANSFER1);
            
    curl_setopt($ctCURLOPT_HEADER1);
            
    curl_setopt($ctCURLOPT_REFERER'http://www.xeka.ru');
            
    curl_setopt($ctCURLOPT_USERAGENT'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
            
    curl_setopt($ctCURLOPT_FOLLOWLOCATION1);
            
    curl_setopt($ctCURLOPT_PROXY$proxy.':'.$port);
            
    $cont curl_exec($ct);
            
    curl_close($ct);
            echo 
    $cont;
    ?>
     
    1 person likes this.
  8. myp3zz

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

    Joined:
    10 Jun 2007
    Messages:
    26
    Likes Received:
    15
    Reputations:
    0
    здравтсвуйте, подскажите как удалить в сграбленной странице рандомные рекламные ссылки в начале?
     
  9. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    пример страницы
     
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    У рекламы есть какой-нибудь ID свой...
    так вот
    PHP:
    <?php
    if(preg_match("#<div id='adv'>(.*)</div>#is"$source$xek))
    {
    $source str_replace($xek['1'], ''$source);
    }
    ?>
     
  11. Хелпер

    Хелпер Elder - Старейшина

    Joined:
    21 Feb 2007
    Messages:
    120
    Likes Received:
    31
    Reputations:
    -1
    Вот пишу калькулятор на Php.
    PHP:
    <form action="0.php" method="post">
    Первое число<input type="text" name="1"><BR>
    Второе число<input type="text" name="2"><BR>
    <input type="submit" value="Посчитать">
    </form>
    <?php
    $num1
    $_POST['1'];
    $num2$_POST['2'];
    //ТУТ ВОЗНИК ВОПРОС: Как позволить юзеру выбирать знак. Там плюс минус умножить и делить. ????
    ?>
    ТОЛЬКО НЕ НАДО ГОВОРИТЬ: мол скрипт косой, зачем эти переменные. Я только начал учить PHP. Отвечать по теме.
     
  12. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    PHP:
    <form method="POST" action="--WEBBOT-SELF--">
        <!--
    webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
        <
    p><select size="1" name="D1">
        <
    option value="+" selected>+</option>
        <
    option value="-">-</option>
        <
    option value="/">/</option>
        <
    option value="*">*</option>
        </
    select><input type="submit" value="Отправить" name="B1"></p>
    </
    form>

    ну типа того и т.д.. а значения можешь сам подставить в value="-" естественно.
     
  13. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    А если полностью, попроще, без особых проверок, то

    PHP:
    <form action="0.php" method="post">  
    Первое число<input type="text" name="1"><BR>  
    Второе число<input type="text" name="2"><BR>  
    Действие: <select name='3'><option value='1'>+</option><option value='2'>-</option> 
    <option value='3'>*</option><option value='4'>/</option></select> 
    <input type="submit" value="Посчитать">  
    </form>  

    <?php 
    $num1
    =isset($_POST['1']) ? $_POST['1'] : 0;  
    $num2=isset($_POST['2']) ? $_POST['2'] : 0;  
    $znak=isset($_POST['3']) ? $_POST['3'] : 0;  

    switch(
    $znak

      case 
    '1'
        
    $res=$num1+$num2
      break; 

      case 
    '2'
        
    $res=$num1-$num2
      break; 

      case 
    '3'
        
    $res=$num1*$num2
      break; 

      case 
    '4'
        if(
    $num2==0) die("На ноль нельзя делить"); 
        
    $res=$num1/$num2
      break; 

      default: 
        die(
    "Выберите действие"); 


    print 
    str_replace(' ','.',$res); //чтобы числа с дробной частью нормально выводились 
    ?>
     
    #2433 d_x, 27 Mar 2008
    Last edited: 27 Mar 2008
    1 person likes this.
  14. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    _http://osu.cctpu.edu.ru/edu/web/extra/jscalc.html - калькулятор на javascript(Вдруг понадобится)
    =====================Просторы интернет:)=============
    _http://hostweb.narod.ru/php/6.htm - вот на php
    _http://nextaz.com/showarticle.php?id=1109407131
    _http://www.compgazeta.ru/articles/2006/46/kg64617.html - вот perl
     
  15. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Привет! Я вот пишу класс BBcode и столкнулся с проблемой...
    как наделить регулярные выражения логикой? =(
    например есть строка

    blabla [ B ]TEST[ /B ] blablabla [ B ]Test2[ /B ]

    и

    blablb [ B ]test [ B ]test[ /B ] test[ /B ]

    И так если написать [ B ](.*?)[ /B ] - В первой строке будет нормально
    но во второй не подойдёт .. он возьмёт первый попавшейся [ /B ]
    А если сделать [ B ](.*)[ /B ] в первом он возьмёт самый последний [ /B ]
    но ко второму подойдёт .. Подскажите плз как быть
     
    #2435 Doom123, 27 Mar 2008
    Last edited: 27 Mar 2008
  16. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Берёт 1й попавшийся:

    PHP:
    $text=preg_replace("#\[b\](.+?)\[/b\]#is","<b>\\1</b>",$text);
    Берёт последний из всех:

    PHP:
    $text=preg_replace("#\[b\](.+?)\[/b\]#isU","<b>\\1</b>",$text);
    Я не совсем понял вопрос, на что конкретно должна заменяться строка вроде этой:
    [ b ]456[ b ]789[ /b ] abc[ /b ]

    Если просто заменять bb-теги [ b ]...text...[ /b ] на соответственно <b>...text...</b>, в том числе вложенные, то возможен такой вариант

    PHP:
    $text="blablb [b]test [b]test[/b] test[/b] sdfsdfsd [b]sdfsdf[/b]";

    $text_old='';
    while(
    $text_old!==$text)
    {
      
    $text_old=$text;
      
    $text=preg_replace("#\[b\](.+?)\[/b\]#is","<b>\\1</b>",$text);
    }

    print 
    $text;
     
    #2436 d_x, 27 Mar 2008
    Last edited: 27 Mar 2008
    1 person likes this.
  17. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    О пасиб вроде так=)
     
    #2437 Doom123, 27 Mar 2008
    Last edited: 27 Mar 2008
  18. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Отредактировал свой предыдущий пост, последний вариант должен подойти. Хотя, возможно, есть и проще.
     
  19. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    Помогите плз )

    переменной $data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.
     
    #2439 lsass.exe, 27 Mar 2008
    Last edited: 27 Mar 2008
  20. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    1)
    <?php
    $data = "Отлииично! Это последний php-сценарий!";
    preg_match('/\W((\\w*и){3}?\\w*)\W/', " ".$data." ", $a);
    echo $a[1];
    ?>
     
Thread Status:
Not open for further replies.