Разрешены ли амперсанды в php if-операторах? - PullRequest
0 голосов
/ 26 августа 2011

Вот так начинается мой оператор if:

<?php if ( bbp_get_forum_title() == 'Business & Finance' ) : ?>

Если я напишу просто «Бизнес», все будет работать так, как ожидалось. Но я теперь, когда я поставил амперсанд, заявление больше не работает (вывод не отображается).

Любые предложения, чтобы это исправить?

EDIT:

Это исходный код:

<li id="customwidget-3" class="widget-container widget_customwidget">             <h3 class="widget-title">Sponsored</h3>

Business &#038; Finance              
</li>

Но если я проверю код с помощью firebug, я получу &amp;.

Ответы [ 3 ]

2 голосов
/ 26 августа 2011

возможно, что ваш заголовок содержит закодированный в HTML-формате объект амперсанда (&amp;), а не простой символ амперсанда.Именно поэтому он не совпадает, даже если он выглядит корректно при просмотре в браузере.

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

Надеюсь, это поможет.

1 голос
/ 26 августа 2011

, если

<?php if ( bbp_get_forum_title() == 'Business & Finance' ) : ?>

Не работает, попробуйте:

<?php if ( bbp_get_forum_title() == 'Business &amp; Finance' ) : ?>

, если это не работает, попробуйте:

<?php if ( bbp_get_forum_title() == 'Business &#038; Finance' ) : ?>
1 голос
/ 26 августа 2011

Внутри строки, как в вашем примере, в выражениях php if разрешены амперсанды.Ошибка в другом месте.

Как указывали другие, вероятно, &amp; не соответствует &, и поэтому результат отличается от того, что вы ожидали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...