PHP - преобразовать строку с символами - или + в HTML - PullRequest
1 голос
/ 18 января 2011

Как преобразовать строку, имеющую знак - или +, в строку, понятную для html?Я имею в виду преобразовать эти символы в нотации html, например, пробел   и т. Д.Я все еще вижу - / +

Ответы [ 6 ]

2 голосов
/ 18 января 2011

Попробуйте это

$string = str_replace('+', '+', $string); // Convert + sign
$string = str_replace('-', '-', $string); // Convert - sign
1 голос
/ 18 января 2011

Посмотрите второй комментарий на этой странице:

http://www.php.net/manual/en/function.htmlentities.php#100388

Это позволит включить большее количество символов кодирования.

Если вы просто хотите закодировать некоторые из них, то это немного легче:

<?php 
$ent = array( 
    '+'=>'&#43;',
    '-'=>'&#43;'
); 

echo strtr('+ and -', $ent); 
?>
1 голос
/ 18 января 2011

Укажите, что вы хотите использовать Юникод, следующим образом:

htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
1 голос
/ 18 января 2011

Насколько я знаю, - и + хороши в HTML и не имеют эквивалента сущности. Смотри http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

Вы уверены, что не думаете о кодировке URL?

1 голос
/ 18 января 2011

Понятия не имею, чего вы хотите достичь.Но это экранирует выбранные символы в html-объектах:

$html = preg_replace("/([+-])/e", '"&#".ord("$1").";"', $html);
1 голос
/ 18 января 2011

Я не думаю, что есть объекты для этих символов, см .: http://www.w3schools.com/tags/ref_entities.asp

Я тестировал с

$str = "- and +"; echo htmlentities($str);

и не получил объекты.Согласно: http://us.php.net/manual/en/function.htmlentities.php

Я ожидаю, что они будут закодированы, если будет доступно кодирование.

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