2014-01-27 3 views
1

Я рендеринг некоторых HTML, который использует элемент pseduo before для визуализации пули точек, установив значение contentКак напечатать « 0025cf» в PHP?

.lst-kix_mnfdzhrfoeyd-0>li:before { 
    content: "\0025cf"; 
} 

Но когда я печатаю это в PHP строка усекается до 5cf что означает пункты маркированных не будет отображаться.

Я протестировал это с помощью простого PHP-скрипта и могу подтвердить, что это происходит. Какие-либо предложения? Как вы можете видеть из var_dump предыдущий символ присутствует как количество символов является 4.

<?php 
    $s = "\0025cf"; 
    print $s; 
    // 5cf 

    var_dump($s); 
    // string(4) "5cf" 

Update:

я неправильно поставил одиночные кавычки в примере PHP, но Infact используя двойные кавычки. Изменив назначение строки необходимым HTML для использования строкового литерала, нет необходимости скрывать символы. Как отмечалось в комментариях.

Спасибо.

+3

как var_dump является усечение строку таким образом, реально мистерия для меня. Даже обратная косая черта не сбрасывается, она должна выводить числа. Я пробовал ваш код и печать, а также var_Dump выдают '\ 0025cf' –

+0

. Вы выделили мою ошибку, используя двойные кавычки, это означает, что строка необходима для экранирования, используя одинарные кавычки, подобные примеру, который я неправильно разместил, не был. – Luke

ответ

1

Если вы хотите, чтобы в буквальном смысле выход \0025cf, то это так же просто, как echo "\\0025cf";

Если вы хотите вывести символ, представленный этим кодом, это не так просто. Если вы выводите контекст HTML, попробуйте echo "&#x25cf;";.

+2

Не было бы чище делать 'echo '\ 0025cf';', одинарные кавычки, поэтому нам не нужно избегать строки? – user555

+0

@ user555 это исправление, мне нужно использовать строковый литерал (одиночные кавычки), а не строку (двойные кавычки) – Luke

0

попробовать этот

$s = "\\0025cf"; 
    echo $s; 
Смежные вопросы