У меня есть большая строковая переменная, которая назначается из столбца базы данных типа " Text" с сопоставлением latin_swedish_ci.
Поскольку это в ASCII, мне нужно заменить все не UTF-8 символов, прежде чем я смогу ввести переменную в свой сценарий создания PDF.
Как мы все знаем, стандарты, используемые PDF, являются злом.Если я использую простой ASCII-ввод, он сойдет с ума и вызовет разрыв в пространстве-времени.
Поэтому, чтобы предотвратить дальнейшее повреждение нашей вселенной, мне нужно помочь выяснить, почему эта функция str_replace()
только заменяетодин из типов символов и игнорирование любых повторений этого символа
Вот мой код:
$tc = str_replace (array("\n", "£", "&"), array("<br/>", "£", "&"), $tc);
Ввод:
Terms & Conditions: Mandatory charge of £10 for cancellations.
VAT E&EO
Выход:
Terms & Conditions: Mandatory charge of £10 for cancellations.
VAT E&EO
Как видно из вывода во второй строке, str_replace()
не меняет символ амперсанда.
Интересно, так ли это из-за того, что оно состоит из двух строк или что-то в этом роде?
Так что есть идеи, как заставить функцию работать так, как я хочу, в противном случае вы проснетесь, когда многие микро-черные дыры исчезнутмиска каши завтра.