<div title = "Могу ли я как-то поместить код PHP в этот атрибут?"> </div> или есть другой путь, по которому я могу пойти? - PullRequest
0 голосов
/ 13 октября 2011

Я хочу:

  1. Читать текстовую строку из "textfile.txt".
  2. 'echo' эта строка на странице в элементе <div>.
  3. Читать в текстовой строке из "namefile.txt".
  4. Сделать эту строку похожей на всплывающий текст для этого элемента <div>.

Мой сценарий:

<? PHP
$fhtext = fopen("textfile.txt","a+") or exit("Error 1");
$fhname = fopen("namefile.txt","a+") or exit("Error 2");

while(!feof($fhtext))
  {
  echo "<div title="HERE IS WHERE I AM STUCK">".fgets($fhtext)."<div/><br />";
  }

Могу ли я пойти:

echo "<div title="<? fgets($fhname) ?>".fgets($fhtext)."<div/><br />";

Ответы [ 5 ]

3 голосов
/ 13 октября 2011
<?php
$fhtext = fopen("textfile.txt","a+") or exit("Error 1");
$fhname = fopen("namefile.txt","a+") or exit("Error 2");

while(!feof($fhtext) && !feof($fhname))
{
    echo "<div title=\"", fgets($fhname), "\">", fgets($fhtext), "<div/><br />";
}
?>
0 голосов
/ 13 октября 2011

Прежде чем вы отправите свои fgets() данные в браузер, вам действительно нужно сначала закодировать их в HTML. Это предотвратит случайные (или не совсем случайные) проблемы, вызванные фрагментами HTML, которые могут быть в ваших текстовых файлах, или если имя файла может быть введено пользователем (либо как часть URL, либо как часть формы).

Как правило, HTML всегда кодирует все, что поступает из источника данных, который вы не контролируете, прежде чем выплевывать его в браузер. Это включает в себя поля формы и т. Д.

0 голосов
/ 13 октября 2011

Если вы уверены, что оба файла имеют одинаковое количество строк, вы можете использовать функцию PHP для работы с файлами.Это прочитает файл в массив, и вы можете зациклить его с помощью цикла for:

<?php
$file1 = file('file1');
$file2 = file('file2');
for ($i = 0, $max = count($file1); $i < $max; $i++) {
    echo $file1[$i].' '.$file2[$i];
}
0 голосов
/ 13 октября 2011

Относительно:

  1. Сделать эту строку похожей на всплывающий текст для этого элемента '.

Если вы имеете в виду «всплывающий» текст, например, всплывающие подсказки того типа, который появляется при наведении курсора на ссылки / изображения, это доступно только для некоторых элементов, когда задан их атрибут title, но не для DIV.

Таким образом, вы можете изменить DIV на элемент A (link). Или используйте Javascript для обнаружения наведения на DIV и отображения всплывающего окна.

0 голосов
/ 13 октября 2011

Я давно не использовал PHP, но это должно работать:

echo "<div title='" . fgets($fhname) ."'>" .fgets($fhtext). "<div/><br />";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...