Я использую str_replace для удаления определенной строки, которая начинается с символа '#' из файла read txt, однако вывод html при тестировании удаляет только символ #. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу удалить весь текст, начинающийся с этого конкретного символа (включая «#» тоже).PHP Удаление нескольких целых строк из текстового файла
До сих пор я пытался:
1)
$data = str_replace('#','',file_get_contents($strFileName));
return $data;
2)
fopen($strFileName,'r');
$remove = "#";
$tmpData = file_get_contents($strFileName);
$data = preg_replace("/.*\b" . $remove ."\b.*\n/ui", "#" , $tmpData);
return $data;
оригинальный текстовый файл выглядит так:
#
# bla bla bla
#
# bla bla bla
#
# bla bla bla
Первая попытка удалила символ #
, но оставила остальную часть слов. Второй не работает вообще. Спасибо.
Отлично, большое спасибо. Любой намек на то, как удалить строку, когда комментарий имеет отступ? Например, «#comment bla bla» имеет отступ, и указанное выше выражение не обнаруживает его. Спасибо – ASO
Добавьте '\ s':' $ data = preg_replace ("/^\ s *? #. */M", "", $ tmpData); ' – Federkun
Так оно и было. Благодаря :-) – ASO