首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >替换字符串中任何括号括起来的单词的所有ocurrence

替换字符串中任何括号括起来的单词的所有ocurrence
EN

Stack Overflow用户
提问于 2012-05-07 18:56:03
回答 1查看 618关注 0票数 2

我通常很有效率地独自解决PHP问题,但是对于这个特定的问题,我似乎找不到一个可行的解决方案。

我有一个由标准文本组成的$string,在文本中将有一些被方括号包围的关键字,我想将其转换为链接,但这并不是将字符串与预定义的‘已知’关键字数组进行比较并进行简单替换的简单情况,因为方括号的内容可以是任何内容。

例如,我需要以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
John Roberts is a jazz musician from Florida born in 1934. Some of his notable works include [A Gray Sky] and [Sophomore Effort].

应改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
John Roberts is a jazz musician from Florida born in 1934. Some of his notable works include <a href="search.php?search=a+gray+sky">A Gray Sky</a> and <a href="search.php?search=sophomore+effort">Sophomore Effort</a>.

应当指出的是:

  • $string将包含一个未知数量的方括号内的单词。如果有问题,使用方括号的
  • 不是必要的,但就目前而言,这似乎是最方便的方法。--

我不是要别人给我代码,我只需要有人告诉我我应该研究什么样的PHP函数,并指出正确的方向!

非常感谢大家,谢谢斯塔克溢流给我这个机会去问!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-07 19:06:08

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$string = "John Roberts is a jazz musician from Florida born in 1934. Some of his notable works include [A Gray Sky] and [Sophomore Effort].";

function rep_callback($match)
{
        $query = substr($match[0],1,-1);
        $query = urlencode($query);
        $link = '<a href="search.php?search='.$query.'">'.$match[0].'</a>';
        return $link;
}

echo $string."\n";
echo preg_replace_callback("/\[.+\]/U", "rep_callback", $string)."\n";

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
John Roberts is a jazz musician from Florida born in 1934. Some of his notable works include [A Gray Sky] and [Sophomore Effort].
John Roberts is a jazz musician from Florida born in 1934. Some of his notable works include <a href="search.php?search=A+Gray+Sky">[A Gray Sky]</a> and <a href="search.php?search=Sophomore+Effort">[Sophomore Effort]</a>.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10491967

复制
相关文章
SPA PP COGI中禁用删除按钮?
本文章仅用于SAP软件的应用、学习沟通,文中所示的截图来源于SAP软件,相应著作权归SAP公司所有。
SPA_小阿龙
2021/02/24
1.7K0
vim中对文本的选择
c. 用上下键选择文本;(v选择多个连续的字符,V选择连续的行,Ctrl+v选择对应的块)
全栈程序员站长
2022/07/12
1.7K0
django admin 列表禁用删除操作,编辑页面禁用删除按钮
class AnchorBindAgentAdmin(admin.ModelAdmin): def get_actions(self, request): # 列表禁用删除操作 if 'delete_selected' in actions: del actions['delete_selected'] return actions def has_delete_permission(self, request, o
卓越笔记
2023/02/18
2.1K0
Android实现EditText文本颜色渐变
刚开始想着先是设置textColor属性就可以了,然后写了个一个带渐变的shap感觉不好使,于是乎就自定义解决,代码如下
程序员飞飞
2020/02/27
3.3K0
Android实现EditText文本颜色渐变
Linux 删除文本中的重复行
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
阳光岛主
2019/02/19
8.7K0
EditText把光标放在文本的末尾处
当手动设置EditText的文本时,光标会恢复到最前面,可以再监听中设置光标到末尾处,这样就好了,大家有什么问题可以在下方留言。
程思扬
2022/01/11
5830
Android中EditText
1.android:hint="只能输入指定数字",文本框中显示提示信息 2.android:password="true"该文本框是一个密码框 3.android:phoneNumber="true"该文本框是一个电话框 4.android:digits="abcdefghijk"指输入内容限制为指定内容 5.android:drawableLeft="@drawable/icon"设置文本左边绘制指定图像 6.android:drawablePadding设置文本框内文本与图形间的间距 7.androi
欢醉
2018/01/22
7470
文本分类中的特征选择方法
在文本分类中,特征选择是选择训练集的特定子集的过程并且只在分类算法中使用它们。特征选择过程发生在分类器的训练之前。
数据分析
2018/01/29
1.7K0
文本分类中的特征选择方法
linux中有选择的删除目录中的文件
某些场景下我们需要删除目录下指定类型,后缀的文件。这时候就需要一些小技巧。 首先我们先要了解一下模式匹配。在Linux中,shell模式是由以下特殊字符组成的字符串,称为wildcards或者meta
入门笔记
2022/06/02
3K0
如何禁用或者删除Jenkins项目
禁用Jenkins项目 登录Jenkins系统 找到对应的项目 在右边点击「DISABLE PROJECT」 删除Jenkins 项目 找到对应的项目,直接点击「Delete Project」
叉叉敌
2019/02/20
5.5K0
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
http://blog.csdn.net/lxk_1993/article/details/50527886
103style
2022/12/19
8630
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
java的句柄_java获取窗口句柄
Java代码书写过程,文件资源的释放需要特别谨慎的对待.通常文件资源使用后必须close,然后再删除。
全栈程序员站长
2022/11/02
2.4K0
【Oracle笔记】外键的查询、启用禁用、删除
文章目录 一、查询所有表的外键 二、启用/禁用外键约束 三、删除外键 一、查询所有表的外键 select table_name, constraint_name from user_constraints where constraint_type = 'R'; 二、启用/禁用外键约束 alter table FM_CLIENT enable constraint CLIENT_TYPE_2019; //启用 alter table FM_CLIENT disable constraint CLIEN
程序员云帆哥
2022/05/12
1.8K0
python中str.translate的用法,删除文本中的标点符号
table=str.maketrans('','',string.punctuation)
用户7886150
2021/01/14
1.9K0
表单文本框的使用(一) 选择文本
input和textarea都会在value属性保存自己的内容,可设置和读取文本框的值。在textarea中设置value属性无效
赤蓝紫
2023/03/16
1.7K0
表单文本框的使用(一)  选择文本
EditText在RecyclerView中的解决方案
有时候,一个列表中的Item会有EditText的出现,而由于View复用机制,如果不好好处理EditText,将会出现一些问题。之前做项目中也遇到了这个问题,通过摸索以及思考,最终得到了解决方案。
用户1108631
2019/08/14
2.8K0
Android自定义EditText:一款简单实用的智能EditText(一键删除&自定义样式)
具体请看文章:Android自定义View:手把手教你做一款简单实用的SuperEditText(一键删除&自定义样式)
Carson.Ho
2022/03/25
9510
Android自定义EditText:一款简单实用的智能EditText(一键删除&自定义样式)
点击加载更多

相似问题

Python3.9.0 Idle不会打开,我该如何解决这个问题呢?

212

正在尝试创建altcase。Char失效了,我该怎么解决这个问题?

30

XCode不会打开我的任何文件夹...我该如何解决这个问题?

197

fopen未打开文件流...我该如何解决这个问题?

42

我该如何解决这个问题?

218
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文