使用php在一个范围中包装前两个单词

时间:2017-05-19 04:42:57

标签: php regex preg-replace

我试图弄清楚如何使用php在一个范围内包装字符串的前两个单词,它与此类似:

Wrap first and second word in span Clases PHP

但是在一个范围内我需要两个字。例如:

输入字符串:

Apartment 1 8 Share

预期输出:

<span>Apartment 1</span> 8 Share

1 个答案:

答案 0 :(得分:1)

尝试这个最简单的。

Regex code demo

正则表达式: ^([^\h]+\s[^\h]+)

我们可以选择使用^(\s*[^\h]+\s[^\h]+),如果空白处于非常开始状态。\s*则为零空格。

  

1。 ^字符串的开头。

     

2。 [^\h]匹配,水平空格除外。

     

3. \s这将匹配空格。

     

4. [^\h]+匹配除水平空格以外的所有内容。

     

5. ()将捕获$1中第一个被捕获的群组

我们可以选择使用\s代替\h

Try this code snippet here

<?php
ini_set('display_errors', 1);

$string="Apartment 1 8 Share";
echo preg_replace("/^([^\h]+\s[^\h]+)/", "<span>$1</span>", $string);