Как правильно порезать на подстроки

Тема в разделе "Как сделать...", создана пользователем zilon, 7 дек 2012.

  1. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    • Для публикации php-кода используйте тег [php]
    мне нужно найти и удалить все строки в которых нету - ?> и вывести все строки в которых есть <?php и ?>

    строки вот такого вида

    PHP:
    <?php $db mysql_connect("","",""); mysql_select_db("" ,$db); @mysql_query("SET NAMES 'cp1251'"); $result mysql_query ("INSERT INTO jos_jcomments (object_id, object_group, lang, userid, name, username, comment, date, published) VALUES ('10039', 'com_content', 'ru-RU', '0', 'Ира Тихвин', '123456', 'Полный бред....', NOW(), '1' ) "); if ($result == true) { echo '<h1>всё ништяк</h1>'; } else { echo'не сработало'; } mysql_close($db); ?>
     
    <?php $db mysql_connect("","",""); mysql_select_db("" ,$db); @mysql_query("SET NAMES 'cp1251'"); $result mysql_query ("INSERT INTO jos_jcomments (object_id, object_group, lang, userid, name, username, comment, date, published) VALUES ('10039', 'com_content', 'ru-RU', '0', 'Alexander Shemetyuk', '123456', '^^', NOW(), '1' ) "); if ($result == true) { echo '<h1>всё ништяк</h1>'; } else { echo'не сработало'; } mysql_close($db); ?>
     
    <?php $db mysql_connect("","",""); mysql_select_db("" ,$db); @mysql_query("SET NAMES 'cp1251'"); $result mysql_query ("INSERT INTO jos_jcomments (object_id, object_group, lang, userid, name, username, comment, date, published) VALUES ('10039', 'com_content', 'ru-RU', '0', 'Ира Тихвин', '123456', 'поставьте &quot-мне нравится&quot- под авой -D', NOW(), '1' ) "); if ($result == true) { echo '<h1>всё ништяк</h1>'; } else { echo'не сработало'; } mysql_close($db); ?>
     
    <?php $db mysql_connect("","",""); mysql_select_db("" ,$db); @mysql_query("SET NAMES 'cp1251'"); $result mysql_query ("INSERT INTO jos_jcomments (object_id, object_group, lang, userid, name, username, comment, date, published) VALUES ('10039', 'com_content', 'ru-RU', '0', 'Сергей Баранов', '123456', 'Алексей, ', NOW(), '1' ) "); if ($result == true) { echo '<h1>всё ништяк</h1>'; } else { echo'не сработало'; } mysql_close($db); ?>
    вот пример Перейти по ссылке
    PHP:
    <?php
     
    header 
    ("Content-Type: text/plain; charset=UTF-8");
    $stringg $_POST['textarea'];
    $stringg explode("\n"$stringg);
     
    foreach (
    $stringg as $str) {
     
    $rest substr("$str", -2);
    $rest2 "?>";
    $ololo strcmp($rest$rest2);
    if (
    $ololo == 0) {
     
    echo 
    "/";
    echo 
    "*";
    echo 
    $str "<br />";
    echo 
    "*";
    echo 
    "/";
     
    } else {
     
    echo 
    "piz***<br />";
     
    }
    }
     
    ?>
    в исходном коде всё выводится но строки не могу порезать никак, помогите пожалуйста :thenks:
     
  2. Waki

    Waki Постоялец

    Регистр.:
    14 ноя 2012
    Сообщения:
    64
    Симпатии:
    21
    Для того чтобы вырезать только то что между "<?php" и "?>", может регулярку использовать ?
    PHP:
    $postvar $_POST['textarea'];
    $stringgpreg_split('/<.php.{1,}.>/'''$postvar );
     
  3. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    как я с ними не извращался, но они не вывели то что нужно и так как нужно))
     
  4. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    твой вроде должен работать, а что не получается?
    а так - отладчик в помощь
     
  5. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    вот так сделал

    PHP:
    <?php
     
    $stringg 
    $_POST['textarea'];
    $stringg explode("qwerty"$stringg);
     
    foreach (
    $stringg as $str) {
     
    $rest substr("$str", -2);
    $rest2 "?>";
    $ololo strcmp($rest$rest2);
    if (
    $ololo == 0) {
     
    echo 
    "/";
    echo 
    "* ";
    echo 
    $str "<br />";
    echo 
    " *";
    echo 
    "/";
     
    }
    }
     
    ?>
    и в конце дописал qwerty

    PHP:
    ?>qwerty
    и теперь строки режутся так как нужно, qwerty вырезается, а всё что нужно выводится

    а есть нормальный, нуленый отладчик на русском? Как называется?