Хочу получить номер строки с элементом у которого id равен 'primer'. Код (PHP): function getId() { $mass = file("construct/source.php"); $i = 0; while($mass[i] -> getElementById("primer") == NULL) { $i++; $GLOBALS['primer'] = $i; } fwrite(fopen("construct/source.php", "r+"), $GLOBALS['primer']); } getId(); В файл ничего не добавляется, но происходит нечто странное, в dreamweawer'e в последней строке файла указывает на ошибку, хотя документ визуально не изменился. Подскажите, пожалуйста, что делаю не так?
Не используйте GLOBALS в новых версиях пыха он вообще либо deprecated, либо уже выпилен нахрен, и туда ему дорога, да. А может не надо Дримвивер?(
Мне хоть через блокнот, да кодировка мешает. Дело то в том, что мне нужно узнать id! Как это сделать?
В mass html документ. Остановимся на том, что код неправильный. Error log молчит. Добавлено спустя 4 минуты 58 секунд: Если кто-то напишет, что getElementById создан для xml документа, то я прямо сейчас напишу ответ на этот вопрос: "file get contents прекрасно работает с getElementById, поэтому и file() должен управляться, ибо это его аналог". Попробовал еще одну запись, все равно ничего не выходит: Код (Text): function getId() { $mass = file("construct/source.php"); $i = 0; while($mass[i] -> getElementById("primer") == NULL) { $i++; $GLOBALS['primer'] = $i; fwrite(fopen("construct/source.php", "r+"), $i); } fwrite(fopen("construct/source.php", "r+"), $GLOBALS['primer']); } getId();
Если в $mass будет html документ, то можно воспользоваться библиотекой, например http://simplehtmldom.sourceforge.net/manual.htm там есть метод getElementById
Я делаю большой проект, и хочу попробовать написать свою библиотеку, чтобы лучше узнать php. Только камнями не кидайтесь
uniforever тогда сделай удобную обёртку над этим: https://php.net/manual/ru/book.tidy.php https://php.net/manual/ru/book.dom.php