|
|
|
| как удалить все комментарии из файла, т.е. // и /* */ . И вопрос вдогонку как удалить символ переноса строки, т.е. чтобы текст шел "сплошняком" | |
|
|
|
|
|
|
|
для: jonnik
(11.07.2006 в 15:36)
| | >как удалить все комментарии из файла, т.е. // и /* */ .
$text = preg_replace("%//(.*)(\n|\r\n)%", "", $text);
|
$text = preg_replace("%/*(.*)*/%", "", $text);
|
>как удалить символ переноса строки, т.е.
>чтобы текст шел "сплошняком"
$text = substr_replace("\n", "", $text);
|
| |
|
|
|
|
|
|
|
для: WebTech
(11.07.2006 в 16:37)
| | /*тектс для
удаления */
не удаляет, а :
$text = substr_replace("\n", "", $text);
|
вообще все удаляет :( | |
|
|
|
|
|
|
|
для: JonNik
(11.07.2006 в 17:34)
| | Прошу прощения, забыл заэкранировать звездочку. Надо так
$text = preg_replace("%/\*(.*)\*/%", "", $text);
|
А про перевод строки уточните. Файл, где нужно убрать переводы строк - это html или простой файл? Если простой текстовый файл, то какая у вас ОС? | |
|
|
|
|
|
|
|
для: WebTech
(11.07.2006 в 17:54)
| | Все равно не помогает :( прикрепляю тестовый файл, а вот код который использую:
<?php
$text = file_get_contents("m1.php");
$fd = fopen("m1.php", "w");
$text = preg_replace("%//(.*)(\n|\r\n)%", "", $text);
$text = preg_replace("%/\*(.*)\*/%", "", $text);
//$text = substr_replace("\n", "", $text);
fwrite($fd, $text);
fclose($fd);
?>
|
скрипт запускаю на удаленном хостинге под никсами... | |
|
|
|
|
|
|
|
для: JonNik
(12.07.2006 в 10:16)
| | Попробуйте так. Измените сроку на
$text = preg_replace("%//(.*)\n|(\r\n)%", "", $text);
|
| |
|
|
|
|
|
|
|
для: WebTech
(15.07.2006 в 17:22)
| | все равно нет
/* dsdsd
dsdsdsds*/
не удаляет | |
|
|
|
|
|
|
|
для: jonnik
(17.07.2006 в 10:44)
| | DB<1> $a = "test1\ntest2\t// test3\ntest4 /* test5 \n\ttest6 */"
DB<2> $a =~ s#(?:/\*.*?\*/|(?s)//.*?$)##gsm
DB<3> p $a
test1
test2
test4 | |
|
|
|
|
|
|
|
для: arto
(19.07.2006 в 01:20)
| | честно говоря ничего не понял :( | |
|
|
|
|
|
|
|
для: JonNik
(19.07.2006 в 10:52)
| | - | |
|
|
|
|
|
|
|
для: WebTech
(19.07.2006 в 15:20)
| | Удаление комментариев:
$text = preg_replace("%/\*(.*?)\*/%s", "", $text);
|
Забыли модификатор s.
Удаление переводов строк:
$text = str_replace (array ("\r", "\n"), "", $text);
|
| |
|
|
|
|
|
|
|
для: Vitas
(19.07.2006 в 17:54)
| | Спасибо !!!
конечный результат таков:
<?php
// удаляет однострочные комменты
$text = preg_replace("%//(.*)(\n|\r\n)%", "", $text);
// удаляет многострочные комменты
$text = preg_replace("%/\*(.*?)\*/%s", "", $text);
?>
|
| |
|
|
|
|
|
|
|
для: Vitas
(19.07.2006 в 17:54)
| | Можете расшифровать участок в регулярном выражении
| |
|
|
|
|
|
|
|
для: beng-beng
(30.07.2006 в 02:13)
| | Любое число (в том числе и 0) любых символов .*, однако с инвертацией жадности .*? Дело в том, что регулярные выражения по умолчанию жадные, т.е. стремятся найти как можно более длинное соответствие (понятно, что просто .* будет соответствовать всей строке). Символ ? после .* и .+ позволяет сделать регулярные выражения не жадными, т.е. искать как можно менее длинное соответствие. | |
|
|
|