Как преобразовать строку, имеющую знак - или +, в строку, понятную для html?Я имею в виду преобразовать эти символы в нотации html, например, пробел и т. Д.Я все еще вижу - / +
-
+
Попробуйте это
$string = str_replace('+', '+', $string); // Convert + sign $string = str_replace('-', '-', $string); // Convert - sign
Посмотрите второй комментарий на этой странице:
http://www.php.net/manual/en/function.htmlentities.php#100388
Это позволит включить большее количество символов кодирования.
Если вы просто хотите закодировать некоторые из них, то это немного легче:
<?php $ent = array( '+'=>'+', '-'=>'+' ); echo strtr('+ and -', $ent); ?>
Укажите, что вы хотите использовать Юникод, следующим образом:
htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
Насколько я знаю, - и + хороши в HTML и не имеют эквивалента сущности. Смотри http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
Вы уверены, что не думаете о кодировке URL?
Понятия не имею, чего вы хотите достичь.Но это экранирует выбранные символы в html-объектах:
$html = preg_replace("/([+-])/e", '"&#".ord("$1").";"', $html);
Я не думаю, что есть объекты для этих символов, см .: http://www.w3schools.com/tags/ref_entities.asp
Я тестировал с
$str = "- and +"; echo htmlentities($str);
и не получил объекты.Согласно: http://us.php.net/manual/en/function.htmlentities.php
Я ожидаю, что они будут закодированы, если будет доступно кодирование.