【发布时间】:2017-05-19 04:42:57
【问题描述】:
我正在尝试弄清楚如何使用 php 将字符串的前两个单词包装在 span 中,类似于:
Wrap first and second word in span Clases PHP
但我需要一个跨度中的两个词。例如:
输入字符串:
Apartment 1 8 Share
预期输出:
<span>Apartment 1</span> 8 Share
【问题讨论】:
标签: php regex preg-replace
我正在尝试弄清楚如何使用 php 将字符串的前两个单词包装在 span 中,类似于:
Wrap first and second word in span Clases PHP
但我需要一个跨度中的两个词。例如:
输入字符串:
Apartment 1 8 Share
预期输出:
<span>Apartment 1</span> 8 Share
【问题讨论】:
标签: php regex preg-replace
试试这个最简单的。
正则表达式: ^([^\h]+\s[^\h]+)
如果空格一开始就出现,我们可以选择使用^(\s*[^\h]+\s[^\h]+)。\s* 是零个空格。
1.
^字符串开头。2.
[^\h]匹配除了水平空白。3.
\s这将匹配空格。4.
[^\h]+匹配除水平空白之外的所有内容。5.
()将捕获$1中的第一个捕获组
我们可以选择使用\s 代替\h。
<?php
ini_set('display_errors', 1);
$string="Apartment 1 8 Share";
echo preg_replace("/^([^\h]+\s[^\h]+)/", "<span>$1</span>", $string);
【讨论】: