【问题标题】:Is it possible to str_replace or preg_replace the output of a javascript call? [duplicate]是否可以 str_replace 或 preg_replace javascript调用的输出? [复制]
【发布时间】:2023-03-10 23:26:01
【问题描述】:

我有一个页面,它使用 javascript 将第三方的内容调用到页面中。我需要做的是 preg_replace 或 str_replace 输出以翻译几个单词(即一周中的几天从英语到西班牙语)。以下是 javascript 调用的示例:

<script language="javascript" src="http://www.example.com/?id=100&amp;site=1&amp;plugin=result_type1&amp;<?= $queryParams ?>">
</script>

js 将结果输出到 html 表格中。这甚至是可能的吗?我没有更多代码,因为我不知道如何开始这样的事情。

感谢任何帮助。

【问题讨论】:

  • php 不执行 js。您必须使用 ajax 调用将此第 3 方脚本的结果发送到您的服务器。例如$.post('yourserver.php', $('#where_the_script_wrote_stuff').html());
  • 这就是我害怕的。谢谢马克。感谢您的建议。
  • 我可以通过漫长而艰难的方式来完成它,抓取提要并将它们存储在数据库中,这样我就可以用它做任何我想做的事情,但现实是......这是更多的工作比它值得。显然他们正在为我解决问题,只是不确定需要多长时间。感谢大家的意见,我确实审查了建议的现有问题。学到了一点,但最终它对我的情况没有帮助;-)无论如何都会保持开放以接受其他建议。

标签: php javascript preg-replace str-replace


【解决方案1】:

大概您正在加载的脚本将 HTML 元素注入您的页面。页面加载后,使用浏览器查看源代码以查看这些元素是哪些元素以及它们具有哪些属性。

实现您想要的一种方法是在您想要的元素的 innerHTML 属性上执行 str_replace。您可以使用 &lt;body onload="doReplace()"&gt; 之类的东西触发事件,其中 doReplace 是您编写的用于处理 str_replace 的函数。

我假设您无法控制要注入的资源。如果这样做,最好在注入之前进行翻译,而不是在页面上进行。如果不这样做,您还会冒更改注入代码破坏您的 doReplace 函数的风险,恕不另行通知。

否则,您可以尝试仅下载脚本并根据需要进行更改。然后,您可以在需要自定义输出的页面上使用自定义脚本。

【讨论】:

  • 没关系,我误会了。
  • 不用担心。感谢您的意见。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多