在PHP字符串中查找/替换

在PHP字符串中查找/替换,php,Php,我有一个PHP字符串,我想在其中使用strtr函数查找和替换,问题是我有变量字段,所以不能用名称替换。该字符串包含如下标记: [字段1=公司] [字段_4=名称] 困难的是“标签”中的“公司”和“名称”部分,它们可能是可变的。所以我基本上在寻找一种方法来替换这个部分[field_1],其中“=Company”和“=Name”必须被丢弃。这能做到吗 解释:我使用“=Company”,这样用户就不会只看到“field_1”,而是知道它代表的值。但是,用户可以将值更改为他们认为合适的值。您可能正在寻找

我有一个PHP字符串,我想在其中使用strtr函数查找和替换,问题是我有变量字段,所以不能用名称替换。该字符串包含如下标记:

[字段1=公司]

[字段_4=名称]

困难的是“标签”中的“公司”和“名称”部分,它们可能是可变的。所以我基本上在寻找一种方法来替换这个部分[field_1],其中“=Company”和“=Name”必须被丢弃。这能做到吗


解释:我使用“=Company”,这样用户就不会只看到“field_1”,而是知道它代表的值。但是,用户可以将值更改为他们认为合适的值。

您可能正在寻找正则表达式。PHP中有一个函数用于执行正则表达式替换:

我已经有一段时间没有在PHP中工作了,但您可能希望尝试以下内容:

preg_replace('/field_\d/','REPLACEMENT','[field_1=Company]');
应该导致

[REPLACEMENT=Company]
如果要替换除支架以外的所有部件:

preg_replace('/field_\d+=\w+/','REPLACEMENT','[field_1=Company]');

这可以通过
preg\u replace
和正则表达式来实现@PhilippMaurer认为,但我不是正则表达式领域的专家:-)@opolowBDesign stackoverflow不是一种编程服务。你的问题还是有点简单。在我看来,开始使用正则表达式的一个好方法是::-)更换后,您希望此输入的输出是什么?我们很乐意帮助和支持新的编码器,但您需要先帮助自己。:-)如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,然后提供。读一个好问题。请务必阅读和阅读。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面更改,只有链接的答案可能会变得无效。很抱歉,我正在编写一些实际的代码,但第一次把它弄糟了,现在应该在那里了!谢谢@Derek,但我希望使用名为$user\u input的数组查找/替换,该数组包含“field\u 1”(或“[field\u 1]”等键以及“Something”和“Something here”等值。我现在得到一个不匹配错误:警告:preg_replace():参数不匹配,pattern是字符串,而replacement是在线/var/www/html/pdf.php中的数组39@vespino如果包含代码尝试,可能会有所帮助。但是如果您试图替换数组中的键名(如果我理解正确的话),您可能需要在数组中循环,以字符串形式对键运行preg_replace(),将新键及其值插入数组中,然后删除(unset())原始键/值元素。array_map()也可能是需要查看的内容,但我仍然不是100%了解这种情况。您应该能够将数组传递给第一个和第二个参数,以执行您想要的操作。阅读文档,它提供了详细信息。