PHP;如何在分隔符和字符串结尾之间获取字符串?

PHP;如何在分隔符和字符串结尾之间获取字符串?,php,regex,string,Php,Regex,String,我有这样一个字符串: $string = "This is my name: David"; 我想把它变成这样: This is my name: <a href="https://www.example.com?q=David">David</a> 您可以使用此preg\u replace: $string = preg_replace('/\b(name:\h*)(.+)/i', '$1<a href="https://www.example.com?

我有这样一个字符串:

$string = "This is my name: David";
我想把它变成这样:

This is my name: <a href="https://www.example.com?q=David">David</a>

您可以使用此
preg\u replace

$string = preg_replace('/\b(name:\h*)(.+)/i', 
  '$1<a href="https://www.example.com?q=$2">$2</a>', $string);
$string=preg_replace('/\b(名称:\h*)(.+)/i',
“$1”,$string);
正则表达式详细信息:

  • \b
    :以单词边界开始
  • (名称:\h*)
    :在捕获组中匹配
    名称:
    ,后跟0个或多个水平空格字符#1
  • (.+)
    :匹配捕获组2中任意字符的1+
  • /i
    :忽略大小写修饰符
  • 作为替代,我们使用
    $1
    $2
    获得格式化的html

你试过什么吗?然后在这里发布。
$string=preg_replace('/\b(名称:\h*)(\S+/','$1',$string)
对此您肯定不需要正则表达式。应该将
strpos
substr
strlen
组合在一起suffice@anubhava嘿,阿努巴瓦,非常感谢,它起作用了。如果你把这个作为答案,我会接受的。非常感谢。如果名称有空格,例如“David Moore”,则只有“David”会被链接。直到字符串的末尾才是整个字符串。字符串“David Moore”应该在“q=”之后,与space.Working,很棒,非常感谢您,祝您度过愉快的一天,David。
$string = preg_replace('/\b(name:\h*)(.+)/i', 
  '$1<a href="https://www.example.com?q=$2">$2</a>', $string);