Hello my name is ##John##
This is my ##question##
Thank you for ##reading## and giving your ##Answer##
看到有很多##字符了吗?现在我想要的是将##字符内的单词设为粗体,这意味着将单词插入HTML<strong></strong>
标记内,那么使用PHP我该怎么做呢?我试过的是……
$converted = str_replace('##', '<strong>', $toconvert);
但问题是第二个标签的前面没有关闭/,这意味着所有标签都只有标签,如果有时字符串中有很多#######,那么这也会产生问题,
这正是我想要的
Hello my name is <strong>John</strong>
This is my <strong>question</strong>
Thank you for <strong>reading</strong> and giving your
<strong>Answer</strong>
所以请帮助我实现这一点。
谢谢。
编辑
请记住,所有字符串都来自数据库,并且它存储在一个变量中,而不是数组中,我只是在新的一行中为您说明清楚,但我把它存储在PHP变量中。
再次感谢。
对使用正则表达式
preg_replace('/##(.*?)##/', '<strong>$1</strong>', $input_lines);
.*?
意味着懒惰的评估,它起到了神奇的作用(尽可能小地尝试匹配(您可以在一些在线工具中测试regex,如https://www.phpliveregex.com/p/G9K#tab-preg替代