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

zilon

Постоялец
Регистрация
30 Июл 2011
Сообщения
370
Реакции
146
Для публикации 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:
 
Для того чтобы вырезать только то что между "<?php" и "?>", может регулярку использовать ?
PHP:
$postvar = $_POST['textarea'];
$stringg= preg_split('/<.php.{1,}.>/', '', $postvar );
 
твой вроде должен работать, а что не получается?
а так - отладчик в помощь
 
вот так сделал

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 вырезается, а всё что нужно выводится

а так - отладчик в помощь

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