如何修改脚本打印的字符串?

时间:2011-01-16 20:15:19

标签: php javascript

我遇到了wordpress错误处理重音字符的问题,或者问题可能出在某些插件上。无论哪种情况我需要“翻译”一些字符串,删除我使用的重音:

  $value = strtr($value, $trans);

我真的需要更改这个呈现用户位置的字符串,但是用脚本打印,所以我不知道怎么做:

<script language="javascript"> document.write('' + geoip_city() +''); </script>

有没有办法事先将它的结果分配给php值?也许用脚本删除重音符号。我真的需要修改它,我怎么能设法做到这一点?感谢

3 个答案:

答案 0 :(得分:0)

我能看到这种情况的唯一方法是使用输出缓冲,参见

http://php.net/manual/en/function.ob-start.php

http://www.php.net/manual/en/function.ob-get-clean.php

虽然如果可能的话我会避免使用它,但这并不是最好的做法。查看有问题的函数是否接受任何参数来返回数据而不是打印它,否则复制函数并进行所需的更改。

答案 1 :(得分:0)

带有脚本的页面的代码页是什么?返回的字符串的代码页是什么?如果您的网页有

<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> 

,数据为utf8,然后更改为

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

反之亦然

如果您需要在客户端上执行此操作

A)

<script language="javascript">
var x =  geoip_city(); 
</script>

并使用像this one

这样的脚本

b)如果您无法访问脚本,但可以自己添加脚本:

var oldWrite = document.write;
document.write = function(str) {  
    var newString = "";
    // your code to convert here
    oldWrite(newString); 
}

答案 2 :(得分:0)

我建议尝试获取“geoip_city()”的字符串输出并进行搜索并替换。

使用您的示例代码:

<script language="javascript"> document.write('' + geoip_city().toString().replace('searchStr', 'replaceStr') + ''); </script>

有关字符串方法的更多信息可以在Microsoft的JScript或Mozilla的MDC页面上找到: http://msdn.microsoft.com/en-us/library/t0kbytzc(v=vs.85).aspx

无法链接到多个网页,但如果您使用Google搜索替换MDC,您就会找到它。