<?php
$input = nl2br($_POST['input']);
$newStr = '';
$commentTokens = array(T_COMMENT);
if (defined('T_DOC_COMMENT'))
$commentTokens[] = T_DOC_COMMENT; // PHP 5
if (defined('T_ML_COMMENT'))
$commentTokens[] = T_ML_COMMENT; // PHP 4
$tokens = token_get_all($input);
foreach ($tokens as $token) {
if (is_array($token)) {
if (in_array($token[0], $commentTokens))
continue;
$token = $token[1];
}
/*test*/
$newStr .= $token;
}
echo $newStr;
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<textarea name="input" id="" cols="50" rows="30"></textarea>
<input type="submit">
</form>
По какой-то причине он не удаляет комментарии, только первую строку в начале и печатает код так, как он есть.Tokenizer не работает должным образом в php
Я делаю что-то неправильно?
так как должен выглядеть код? –
Это PHP или HTML-код или смесь, которую вы публикуете с помощью формы? – bitWorking
его php-код. –