PHP обрезает параметры из тегов привязки при построении в функции с переменными - PullRequest
1 голос
/ 12 июня 2019

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

ПРИМЕЧАНИЕ. При написании этогоУ меня была вспышка мозга и я решил свою проблему.Я поставлю проблему и решение здесь на случай, если другие сочтут это полезным.

ПРЕДПОСЫЛКИ: Я создаю квази-мега-меню, используя jQuery и плагин modal.js Bootstrap.Все работало нормально, кнопка меню запускает модальный режим, который отображает HTML-код, который я создал для мегаменю, вместе с дюжиной или более ссылками на страницы в этом меню.Ссылки на страницы работали нормально.

Затем я решил добавить всплывающие подсказки к ссылкам на страницы, чтобы дать посетителям краткое описание каждой страницы.Я сделал это, добавив атрибуты CLASS и TITLE к тегу привязки для ссылки.И эта часть тоже работала просто отлично.

Затем, чтобы очистить ссылки, я поместил текст атрибута TITLE в переменную PHP.Это также сработало просто отлично.

Одна из действующих ссылок привязки в то время выглядела следующим образом:

<a href="cleanscans.php" class="tooltip-test" title="<?php echo($TTClSc); ?>">Cleaning Scans</a>

Наконец, я хотел упростить добавление ссылок в список, поэтому я создал функцию PHPчтобы построить строку выше, передавая два параметра - имя файла основы вызываемой страницы и текст ссылки:

function BuildMenuItem($Pageroot, $MenuText)

Функция работала отлично, ЗА ИСКЛЮЧЕНИЕМ, она всегда усекается (обрезается) все параметры после закрывающей кавычки оператора href = "". Другими словами, параметры CLASS и TITLE никогда не выходили из функции.

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

Когда я начал писать эту публикацию, мне пришло в голову, что параметры привязки не нужно указывать в каком-либо конкретном порядке, поэтому, если функция обрезает все после href, почему бы не поставить class и title перед этим?

Вот я и попробовал, и ВОЙЛА!Это сработало!Моя функция теперь очень приятно предоставляет новые ссылки меню по запросу, в комплекте с подсказками.Например:

<?php echo BuildMenuItem("procedures", "Procedures") ?>
<?php echo BuildMenuItem("pdftools", "PDF Tools") ?>

Единственное предостережение в том, что я должен назвать свои текстовые переменные всплывающей подсказки с конкатенацией $ TT к имени файла основы.

Вот пример вывода этой функции из вызова процедуры (первая строка выше):

<a class='tooltip-test' title="$TTprocedures" href="http://www.mywebsitename.com/procedures.php">Procedures</a>

Но я все еще не понимаю, ПОЧЕМУ возникла эта проблема.Функция для построения вышеприведенного оператора будет обрезать все параметры после HREF, но они прекрасно работают, если перечислены ранее.

Есть какие-либо подсказки, почему?

...