【发布时间】:2018-09-21 22:51:19
【问题描述】:
鉴于以下情况:
$foo = "Yo [user Cobb] 我听说你喜欢做梦,所以我在你的梦中放了一个梦,这样你就可以一边做梦一边做梦。"
我想这样做:
$foo = bar($foo);
回声 $foo;
得到这样的东西:
哟Cobb听说你喜欢做梦,所以我把一个梦放在你的梦里,这样你就可以一边做梦一边做梦。
我不确定bar 函数应该如何工作。我认为这对正则表达式是可行的,但我个人觉得这些很难理解。使用strpos函数是另一种方法,但我想知道是否有更好的解决方案。
伪代码很好,但实际代码将不胜感激。
编辑:
这些标签不是占位符,因为第二部分是一个变量值。
编辑:
所有 str_replace 答案都不正确,因为标签包含可变内容。
【问题讨论】:
-
是否有用于格式化的自定义打开和关闭标签(如 BBCodes),或者这些只是用于将某些字符串替换为其他字符串的占位符?
-
@dqhendricks:感谢您提醒我回答这个问题。我更新了我的问题。
-
即使替换是一个变量,它仍然是一个简单的占位符被一个值替换对吧?或者是否有用于格式化它们之间的内容的打开和关闭标签,如 BBCodes?意思是,[b]formatted string[/b] 将被替换为 formatted string 之类的东西。
-
是否有带有参数的标签,例如 [url=www.example.com]example[/url]?
-
@dqhendricks:我希望使用的格式是:
[foo bar]。例如:[user Cobb]、[news 12]等
标签: php