Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么str_replace()只替换字符串中字符的一个实例?_Php_Str Replace - Fatal编程技术网

Php 为什么str_replace()只替换字符串中字符的一个实例?

Php 为什么str_replace()只替换字符串中字符的一个实例?,php,str-replace,Php,Str Replace,我有一个大的字符串变量,它是从一个类型为“Text”的数据库列中分配的,该列的排序规则为拉丁文 因为它是ASCII格式的,所以在将变量放入PDF生成脚本之前,我需要替换所有非UTF-8字符 众所周知,PDF使用的标准是邪恶的。如果我使用普通的ASCII输入,它将变得疯狂,并导致时空撕裂 因此,为了防止对我们的宇宙造成更多的伤害,我需要帮助弄清楚为什么这个str_replace()函数只替换一个字符类型,而忽略这个字符的任何重复 这是我的代码: $tc = str_replace (array("

我有一个大的字符串变量,它是从一个类型为“Text”的数据库列中分配的,该列的排序规则为拉丁文

因为它是ASCII格式的,所以在将变量放入PDF生成脚本之前,我需要替换所有非UTF-8字符

众所周知,PDF使用的标准是邪恶的。如果我使用普通的ASCII输入,它将变得疯狂,并导致时空撕裂

因此,为了防止对我们的宇宙造成更多的伤害,我需要帮助弄清楚为什么这个
str_replace()
函数只替换一个字符类型,而忽略这个字符的任何重复

这是我的代码:

$tc = str_replace (array("\n", "£", "&"), array("<br/>", "&pound;", "&amp;"), $tc);
Terms & Conditions: Mandatory charge of £10 for cancellations.    
VAT E&EO
Terms &amp; Conditions: Mandatory charge of &pound;10 for cancellations.
VAT E&EO
输出:

$tc = str_replace (array("\n", "£", "&"), array("<br/>", "&pound;", "&amp;"), $tc);
Terms & Conditions: Mandatory charge of £10 for cancellations.    
VAT E&EO
Terms &amp; Conditions: Mandatory charge of &pound;10 for cancellations.
VAT E&EO
正如您在第二行的输出中所看到的,
str_replace()
不会更改符号和字符

我不知道这是不是因为它超过了两行或类似的东西


因此,如果你知道如何让函数按我所希望的那样工作,那么你明天醒来时就会发现许多微黑洞正在你的一碗麦片粥中消失。

看起来你试图实现的目标可以通过使用以下两个函数来实现:

nl2br(htmlentities($tc));

这样做的好处是,如果您的
$tc
变量将来获得更多HTML实体,您就不必再摆弄
str_replace()

这两个函数似乎可以实现您想要实现的目标:

nl2br(htmlentities($tc));

这样做的好处是,如果您的
$tc
变量将来获得更多的HTML实体,您就不必再摆弄
str_replace()

I concure。完美的解决方案。我更喜欢使用这些代码,只有在没有其他选择的情况下才进行替换。我从来没有使用过这个函数。不知何故,我觉得我的生活现在压力会小得多!:)我同意。完美的解决方案。我更喜欢使用这些代码,只有在没有其他选择的情况下才进行替换。我从来没有使用过这个函数。不知何故,我觉得我的生活现在压力会小得多!:)如前所述,有内置函数来处理html实体。除此之外,
strtr
是对这种字符串替换最有意义的函数。如前所述,有内置函数来处理html实体。除此之外,
strtr
是对这种字符串替换最有意义的函数。。