XML — стилизация PHP очень сложная

У меня есть форма, где пользователь будет набирать там ссылочный номер, чтобы проверить статус их в запросе:

Пример: пользователь перейдет на эту веб-страницу: http://www.cdreporting.co.uk/ajax/search2.html

Затем они вводят свою ссылку:1«или» 2 «,» 3 «и т. д … независимо от того, какое число они были выделены
который затем отображает краткую запись.

но я не могу отформатировать данные, которые отображаются. Я хочу, чтобы ссылочный номер был другого цвета, хочу создавать разрывы строк, подчеркивать адреса электронной почты. но я не уверен, как это сделать с моим текущим .php кодом

Как мне отредактировать каждое поле, например, электронную почту? так что я могу изменить шрифт и т.д ..? только с полем «Reference», указанным в коде php:

   <?php
$q=$_GET["q"];

$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");

$x=$xmlDoc->getElementsByTagName('Reference');

for ($i=0; $i<=$x->length-1; $i++) {
//Process only element nodes
if ($x->item($i)->nodeType==1) {
if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
$y=($x->item($i)->parentNode);
}
}
}

$cd=($y->childNodes);

for ($i=0;$i<$cd->length;$i++) {
//Process only element nodes
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
echo($cd->item($i)->childNodes->item(0)->nodeValue);
echo("<br>");
}
}
?>

Поля из этого кода в настоящее время отображаются:

Репортер: Test1
СПРАВКА: 1
Представление: 2014-11-08T00: 00: 00
Статус: ожидание
Офицер: Имя1
Электронная почта: [email protected]
Телефон: 0113 1234

Также я не уверен, почему ССЫЛКА является ВЕРХНИЙ,
Я знаю, что мы имеем к вашему атрибуту, но я не уверен, как применить их к коду php, так как я не знаю, как ссылаться на каждое отдельное поле.


Большое спасибо, что нашли время, чтобы помочь.

У меня есть XML-файл: http://www.cdreporting.co.uk/ajax/cd_catalog.xml
на который ссылается php.

Когда кто-то вводит ссылочный номер, отображаются данные из XML. в XML есть поле электронной почты, которое я хотел бы отображать по-разному, т.е. изменение цвета шрифта. Как бы я сделал это в коде PHP, который я имею? Я знаю, что могу использовать CSS, но где в моем php-коде вы применили бы его к полю электронной почты?

в основном стилизация каждого поля из моего XML


Ух ты, Мэнс, еще раз спасибо … к сожалению, это очень смущает меня. оставив CSS Styling в стороне и вернувшись к моему php-коду.

возможно, чтобы php отображал каждое поле внутри php, например

if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**REFERENCE**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");

if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Reporter**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");

if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Submission**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");

if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Email**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");

Вышесказанное выглядит правильно? Могу ли я изменить каждое поле, чтобы изменить шрифт или добавить разрыв строки?

-3

Решение

Вам понадобится немного CSS, похожего на это:

.reference {color: blue;}

Затем пересмотрите ваш PHP, чтобы проверить, что имя узла является «ССЫЛКА», и сгенерируйте необходимую разметку для вызова CSS:

//Process only element nodes
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "REFERENCE") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");

Вы можете стилизовать другие поля (узлы) таким же образом, включая разрывы строк и другое форматирование. Посмотрите на PHP switch оператор, если вы хотите стилизовать их много.

Поскольку «ССЫЛКА» является заглавной, ваша ссылка показывает, что именно в XML. Вы можете использовать другой if заявление, чтобы выдать что-то вроде «ссылки», если необходимо, или исправить то, что хранится в XML.

Теперь, когда я немного подумал об этом, если вы называете ваши стили CSS такими же, как имена узлов XML, вы можете легко оформить каждый элемент. Вы делаете стили одинаковыми или разными в зависимости от того, как вы пишете свой CSS.

   //Process only element nodes
if ($cd->item($i)->nodeType==1) {
$class = strtolower($cd->item($i)->nodeName);
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
echo "<span class=\"$class\">".$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
echo("<br>");
}

Это берет имя узла, заставляет его в нижнем регистре, используя strtolower а затем присваивает его классу $. <span> Затем элемент использует $ class в качестве имени класса. Все, что вы написали в CSS для этого имени класса, будет применено как стиль.

Вы можете применить ту же идею для стилизации имен имен, но вам понадобятся разные имена классов. Итак, что-то вроде: <span class=\"nn-$class\">" будет применять класс nn-ссылку на имя узла для ссылки.

В некоторых случаях вы можете использовать <div> скорее, чем <span> для форматирования на уровне блоков. Вы должны будете решить и изменить свой код соответственно.

Замечания: Я не проверял код выше; Мне нужен XML, чтобы сделать это. Могут быть небольшие синтаксические ошибки, но идея верна.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]