使用PHP从字符串中获取第一个和第二个字符


请阅读这句话。。
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替代

相关内容

最新更新