问题标签 [str-replace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4601 浏览

php - 带有变量的PHP模板类?

我想让我的新项目的开发更容易,我想要一个非常简单的模板引擎解决方案。我在网上环顾四周,一切要么太臃肿,要么让我畏缩。

我的 HTML 文件将如下所示:

显然,我想用我用 PHP 设置的东西来替换{PAGE_TITLE}和。{PAGE_HEADER}像这样:

我会使用类似的东西str_replace并将替换的 HTML 加载到字符串中,然后将其打印到页面上?这就是我目前正在做的事情......有没有人有任何建议或方法可以让我做得更好?

谢谢。

0 投票
2 回答
1276 浏览

php - str_replace 和 preg_replace 在一台服务器上工作,但不在另一台服务器上工作

更新:事实证明,以下是由我的生产服务器上的缓存问题引起的。感谢所有提供周到答案的人。

我在一个 php 页面上有一个简单的函数,它需要一个 url,例如:

http://myurl.com/mypage.html?param1=value1

并将其转换为:

http://myurl.com/searchpage.html?param1=value1

它所做的一切就是换掉 page.html 部分。

为此,我使用以下内容:

上面的代码不是确切的代码,而是一个很好的表示。它在一台服务器上运行良好,但是当我推送到生产环境时,preg_replace 不起作用。我最初尝试使用 str_replace。它也适用于我的本地开发机器,但不适用于生产服务器。

我已确认 URL 变量输入正确。有任何想法吗?

0 投票
2 回答
396 浏览

php - PHP文本格式化:连续检测多个符号

我有一种奇怪的东西,我真的很喜欢我的文本格式。请不要问我为什么会做这种奇怪的事情!;-)

因此,我的 PHP 脚本将所有行折叠“\n”替换为特殊符号之一,如“|”。当我将文本数据插入数据库时​​,PHP 脚本将所有折行替换为符号“|” 当脚本从数据库中读取文本数据时,它会替换所有特殊符号“|” 折线“\n”。

我想限制文本格式,如果每个分隔文本中使用的折线超过 2 条,它将切断折线。

这是我希望脚本格式化的文本示例:

我想限制格式,如:

因此,在第一个示例中,两个文本之间只有一个行折叠,而在第二个示例中,两个文本之间有 3 个行折叠。

如何可以替换超过 2 行折叠符号“|” 如果在文本中检测到它们?

这是我希望脚本执行的一种示例:

嗯,我有问题!当文本数据以 POST 方法发送时,这不起作用。看这个:

这是我在 textarea 上输入的文本,在 str_replace 之后显示:

这是我的 PHP 和 HTML 代码:

0 投票
8 回答
88477 浏览

php - 我有一个带有“\u00a0”的字符串,我需要用“”替换它 str_replace 失败

我需要清理来自各种 Microsoft Office 套件应用程序(ExcelAccessWord)的字符串(复制/粘贴),每个应用程序都有自己的一组编码。

我将 json_encode 用于调试目的,以便能够看到每个编码的字符。

我可以用 str_replace 清理我目前找到的所有东西 (\r \n),但是用 \u00a0 我没有运气。

返回:

那是完全一样的;它完全忽略了\u00a0。

有没有解决的办法?另外,我觉得我正在重新发明轮子,是否有一个函数/类可以完全去除每一个可能的编码的每一个可能的字符?

____编辑____

在前两个回复之后,我需要澄清我的示例确实有效,因为它是 json_encode 的输出,而不是实际的字符串!

0 投票
3 回答
276 浏览

php - 用 php & mysql 替换文本中的关键字

我有一个新闻网站,其中包含超过 100 万条新闻的档案。我创建了一个包含约 3000 个条目的词定义数据库,由词定义对组成。

我想做的是在新闻中每次出现这些词的旁边添加一个定义。我无法进行静态更改,因为我可以每天添加一个新关键字,因此我可以使其成为实时或缓存。

问题是,astr_replace或 apreg_replace在文本中搜索 3000 个关键字并替换它们会非常慢。

有没有快速的替代品?

0 投票
5 回答
917 浏览

php - 两个数字字符串之间的 str_replace

另一个问题str_replace,我想将以下$title数据更改为 URL,方法是$string在开头和破折号 (-) 之后取中间数字

  1. 芝加哥'公立学校- 1030 万美元
  2. 新泽西州- 300 万美元
  3. 密歇根州:公共卫生- 100 万美元

愿望输出是:
芝加哥-公立-学校
-新泽西
-密歇根-公共卫生

我正在使用的 PHP 代码

不幸的是我得到的结果:

有人对此有更好的解决方案吗?多谢你们!
(更改'amp9 - 想知道为什么?

0 投票
2 回答
1229 浏览

php - php str_replace 模式

我有一个 php 应用程序,它将图片保存在服务器上,并将图片名称存储在数据库中。我遇到的问题是图片名称包括保存它的路径/文件夹(例如 1220368812/chpk2198933_large-2.jpg)所以我需要一个 str_replace 模式来删除“1220368812/”并将图片名称正确存储在分贝。此外,如果您能向我发送一个很好的链接,说明 str_replace 模式的工作原理或至少您使用的模式如何工作,我将不胜感激。

0 投票
2 回答
1693 浏览

php - str_replace() 和 strpos() 用于数组?

我正在处理一组数据,我已经更改了一些数组键的名称,但我希望数据基本上保持不变......基本上我希望能够将数组中的数据存储在数据库,但我想更新与之关联的数组键名。

以前的数组看起来像这样:$var_opts['services'] = array('foo-1', 'foo-2', 'foo-3', 'foo-4');

现在数组键不再以“foo”为前缀,而是以“bar”为前缀。那么如何更新数组变量以摆脱“foos”并替换为“bars”呢?

像这样:$var_opts['services'] = array('bar-1', 'bar-2', 'bar-3', 'bar-4');

我已经if(isset($var_opts['services']['foo-1'])) { unset($var_opts['services']['foo-1']); }用来摆脱 foos... 我只需要弄清楚如何用 bar 替换每个 foo。

我以为我会在整个数组上使用 str_replace,但令我沮丧的是,它只适用于字符串(去图,呵呵)而不是数组。

0 投票
4 回答
7000 浏览

php - How to skip first regex match?

Is there anyway to skip the first match when using regex and php.

Or is there some way of achieveing this using str_replace.

Thanks

UPDATE I am trying to remove all the instances of a string from another string but I want to retain the first occurance e.g

Ouput string would be:

This is a test string to test to removing the word test

0 投票
6 回答
28989 浏览

php - 转义转义字符

我正在尝试模仿json_encodePHP 5.3.0 中实现的位掩码标志,这是我拥有的字符串:

执行json_encode($s, JSON_HEX_APOS | JSON_HEX_QUOT)输出以下内容:

我目前正在使用 5.3.0 之前的 PHP 版本:

正确输出相同的结果:

我无法理解为什么我需要将单引号('\\\''甚至"\\'"[排除周围引号])替换'\\\u0027''\\u0027'.


这是我在移植到 PHP < 5.3 时遇到问题的代码: